我们正在尝试在Rails应用程序中使用弹性搜索,并希望任何输入/代码示例实现“你是说”的功能。从本质上讲,我们希望为最终用户提供搜索google等备用查询的选项。
我们正在尝试在Rails应用程序中使用弹性搜索,并希望任何输入/代码示例实现“你是说”的功能。从本质上讲,我们希望为最终用户提供搜索google等备用查询的选项。
从版本0.90.0.Beta1开始,ElasticSearch包含一个“术语建议”功能,这是您正在寻找的:
http://www.elasticsearch.org/guide/reference/api/search/term-suggest/
例如。得到这个查询:“devloping distibutd saerch engies” 结果:“开发分布式搜索引擎”
Elasticsearch尚未拥有它,它作为问题打开 这里 基本上它正在等待下一个Lucene 发布。
我使用了类似的“你是说”的行为 语音分析仪,这适用于我的用例,位置名称,这不适用于所有用例....
示例映射: - https://gist.github.com/1171014
所以你可以像这样使用REST api进行查询 (错误的伦敦): -
{
"query": {
"field": {
"nameSounds": "lundon"
}
}
}
你可以使用模糊搜索:
"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