7

我正在努力将 FLT 实施到我正在构建的原型 ES 系统中。我查看了 Elasticsearch 网站上的文档,虽然它在那里,但我似乎无法让它工作。也许有人可以给我一些关于如何做到这一点的见解。

我似乎在网络上的其他地方找不到任何这样的例子,但也许我的谷歌技能今天还没有达到标准。到目前为止,这是我设法构建的-

$ curl -XGET 'http://127.0.0.1:9200/uber/uber/_search?'  -d '{
  "fuzzy_like_this": {
    "fields": [
      "pty_firstname",
      "pty_surname"
    ],
    "like_text": "Nathan Andew",
    "max_query_terms": 12
  }
}'

这是我在发送请求时从提示中收到的错误消息 -

{
  "error":"SearchPhaseExecutionException[Failed to execute phase [query], total failure;
          shardFailures {[u9HfJxbXRn-8ml19FKBTiA][uber][2]: SearchParseException[[uber][2]: from[-1],size[-1]:
            Parse Failure [Failed to parse source [
              {
                "fuzzy_like_this": {
                "fields": [
                  "pty_firstname",
                  "pty_surname"
                ],
                "like_text": "Nathan Andew",
                "max_query_terms": 12
                }
              }
            ]]]; nested: SearchParseException[[uber][2]: from[-1],size[-1]:
            Parse Failure [No parser for element [fuzzy_like_this]]]; }{[u9HfJxbXRn-8ml19FKBTiA][uber][0]:
          SearchParseException[[uber][0]: from[-1],size[-1]:
            Parse Failure [Failed to parse source [
              {
                "fuzzy_like_this": {
                "fields": [
                  "pty_firstname",
                  "pty_surname"
                ],
                "like_text": "Nathan Andew",
                "max_query_terms": 12
                }
              }
            ]]]; nested: SearchParseException[[uber][0]: from[-1],size[-1]:
            Parse Failure [No parser for element [fuzzy_like_this]]]; }]",
  "status":500
}
4

1 回答 1

15

我认为您缺少查询部分,您需要执行以下操作:

$ curl -XPOST 'http://127.0.0.1:9200/uber/uber/_search?'  -d '
{
  "query" : {
    "fuzzy_like_this" : {
       "fields" : ["pty_firstname", "pty_surname"],
       "like_text" : "Nathan Andew",
       "max_query_terms" : 12
    }
  }
}'
于 2013-08-09T01:25:50.337 回答