我们正在尝试在 Rails 应用程序中使用 Elastic Search,并希望有任何关于“您的意思是”功能实现的输入/代码示例。本质上,我们希望为最终用户提供一个选项来搜索替代查询,例如在 google 中。
问问题
9116 次
3 回答
9
从 0.90.0.Beta1 版本开始,ElasticSearch 包含一个“术语建议”功能,这就是您要寻找的功能:
http://www.elasticsearch.org/guide/reference/api/search/term-suggest/
例如从这个查询中得到:“开发分布式搜索引擎”这个结果:“开发分布式搜索引擎”
于 2013-09-04T18:45:46.797 回答
7
Elasticsearch 还没有它,它在这里作为问题打开,基本上它正在等待下一个 Lucene版本。
我使用语音分析器实现了类似的“你的意思是”行为,它适用于我的用例、位置名称,但不适用于所有用例......
一个示例映射:- https://gist.github.com/1171014
因此您可以像这样使用 REST api 进行查询(拼写错误的 london):-
{
"query": {
"field": {
"nameSounds": "lundon"
}
}
}
于 2011-08-25T16:01:21.553 回答
1
您可以使用模糊搜索:
"fuzzy" : {
"user" : {
"value" : "Jon",
"boost" : 1.0,
"fuzziness" : 3,
"prefix_length" : 0,
"max_expansions": 100
}
}
检查此链接是否模糊:http ://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html
于 2015-01-21T07:58:16.563 回答