ElasticSearch / Tire&关键词。匹配“或”关键字列表的正确方法?

时间:2012-08-20 16:56:34

标签: ruby ruby-on-rails-3 elasticsearch

我有一个Entity模型(在Mongoid中),我正在尝试搜索其关键字字段,这是一个数组。我想进行查询,在其中传递一系列潜在搜索词,任何匹配任何词的实体都将通过。

我还没有好好运作。

但是,为什么我问这个问题,是因为它更复杂。我也不想通过“ignore_project_ids”参数返回任何标记为“不返回”的实体。

所以,当我查询时,我得到0结果。我在使用Bonsai.io。但是,我已将其移至我自己的EC2实例,以减少解决问题的复杂性/变量。

那么,我做错了什么?以下是代码的相关部分。

https://gist.github.com/3405763

1 个答案:

答案 0 :(得分:1)

您需要terms查询而不是term查询 - 术语查询仅对相等感兴趣,而terms查询要求该字段与任何指定值匹配。

鉴于您似乎并不关心查询得分(您按其他属性排序),您可以使用过滤后的查询并将条件表示为过滤器来获得更快的查询