我们正在尝试在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" } } }