弹性搜索 - 实现"你是不是意味着"

Soh*_*han 11 ruby-on-rails elasticsearch

我们正在尝试在Rails应用程序中使用弹性搜索,并希望任何输入/代码示例实现"你是说"的功能.从本质上讲,我们希望为最终用户提供搜索google等备用查询的选项.

Sim*_*ger 8

从版本0.90.0.Beta1开始,ElasticSearch包含一个"术语建议"功能,这是您正在寻找的:

http://www.elasticsearch.org/guide/reference/api/search/term-suggest/

例如,从这个查询得到:"devloping distibutd saerch engies"这个结果:"开发分布式搜索引擎"


小智 7

Elasticsearch尚未拥有它,它在这里被打开,基本上它正在等待下一个Lucene 版本.

我使用语音分析器实现了类似的"你是说"的行为,它适用于我的用例,位置名称,这对所有用例都不起作用....

示例映射: - https://gist.github.com/1171014

所以你可以像这样使用REST api进行查询(错误的伦敦): -

{
  "query": {
    "field": {
      "nameSounds": "lundon"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 有关在此处集成语音分析器的详细说明:http://blog.jessitron.com/2012/04/configuring-soundex-in-elasticsearch.html (2认同)