Ruby on rails 弹性搜索-实现“;你的意思是“什么?”;
我们正在尝试在Rails应用程序中使用弹性搜索,并希望获得有关“DoyouMean”功能实现的任何输入/代码示例。本质上,我们希望为最终用户提供一个选项,以搜索类似于谷歌的替代查询。Elasticsearch还没有,它是作为问题打开的,基本上它正在等待下一个Lucene 我通过使用实现了类似的“你是说”行为,它适用于我的用例、位置名称,但不适用于所有用例 映射示例:- 因此,您可以使用REST api进行如下查询(错售伦敦):-Ruby on rails 弹性搜索-实现“;你的意思是“什么?”;,ruby-on-rails,
elasticsearch,Ruby On Rails,
elasticsearch,我们正在尝试在Rails应用程序中使用弹性搜索,并希望获得有关“DoyouMean”功能实现的任何输入/代码示例。本质上,我们希望为最终用户提供一个选项,以搜索类似于谷歌的替代查询。Elasticsearch还没有,它是作为问题打开的,基本上它正在等待下一个Lucene 我通过使用实现了类似的“你是说”行为,它适用于我的用例、位置名称,但不适用于所有用例 映射示例:- 因此,您可以使用REST api进行如下查询(错售伦敦):- 从版本0.90.0.Beta1开始,ElasticSearch包含
从版本0.90.0.Beta1开始,ElasticSearch包含一个“术语建议”功能,这就是您正在寻找的: 例如,从该查询中获得:“开发分布式saerch engies”
此结果:“开发分布式搜索引擎”您可以使用模糊搜索:
"fuzzy" : {
"user" : {
"value" : "Jon",
"boost" : 1.0,
"fuzziness" : 3,
"prefix_length" : 0,
"max_expansions": 100
}
}
检查此链接的模糊性:我知道“google it”答案不太好(因此这是一条评论),但寻找“ruby拼写更正”将是一个很好的开始。我确实实现了这一点,但是在Asp.net MVC3中实现的。我们使用了这里描述的算法。尝试在谷歌上搜索“模糊查找”。Levenshtein距离:它永远不应该用于拼写检查。如果有人读到这篇文章,这是最糟糕的拼写检查阶段之一。关于集成语音分析器的详细说明如下:
"fuzzy" : {
"user" : {
"value" : "Jon",
"boost" : 1.0,
"fuzziness" : 3,
"prefix_length" : 0,
"max_expansions": 100
}
}