我正在努力将 FLT 实现到我正在构建的原型(prototype) ES 系统中。我查看了 Elasticsearch 网站上的文档,虽然它在那里,但我似乎无法让它工作。也许有人可以让我对如何做到这一点有所了解。
我似乎无法在网络上的其他地方找到任何有关此操作的示例,但也许我的 Google 技能今天没有达到标准。这是我迄今为止设法构建的内容-
$ 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
}
最佳答案
我认为您缺少 查询 部分,您需要执行以下操作:
$ 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
}
}
}'
关于search - 像这样模糊 (FLT) - ElasticSearch,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18129490/