弹性搜索 - 获取匹配字段

时间:2013-06-23 13:27:08

标签: ruby-on-rails elasticsearch tire

我正在使用ElasticSearch在Webapp(Rails + Tire)上实现搜索。在查询ES服务器时,有没有办法知道返回的Json哪个字段与查询匹配?

2 个答案:

答案 0 :(得分:4)

最简单的方法是使用highlight功能,请参阅轮胎中的支持:https://github.com/karmi/tire/blob/master/test/integration/highlight_test.rb

不要将Explain API用于其他调试目的,因为这会对性能产生负面影响。

答案 1 :(得分:2)

您是否尝试过使用弹性搜索中的Explain API?解释的输出为您提供了文档匹配原因的详细解释,以及它的相关性分数。

用于搜索记录的算法通常比单个字符串匹配复杂得多。此外,鉴于您可能会有一个术语匹配多个字段(可能具有不同的权重),因此可能不容易想出一个简单的答案。但是,查看Explain API的输出,您应该能够构造有意义的消息。