如何通过值数组查询/过滤弹性搜索索引?

时间:2012-08-31 18:26:20

标签: elasticsearch

我有一个带有数字类别ID的弹性搜索索引,如下所示:

{
  "id": "50958",
  "name": "product name",
  "description": "product description",
  "upc": "00302590602108",
  "**categories**": [
    "26",
    "39"
  ],
  "price": "15.95"
}

我希望能够传递一个类别ID数组(例如,包含所有子类的父ID),并仅返回与其中一个类别匹配的结果。我一直在尝试使用术语查询,但没有运气。

另外,作为elasticsearch的新用户,我想知道我是否应该使用过滤器/方面...

ANSWERED! 我最终使用了术语查询(而不是术语)。我仍然有兴趣知道使用过滤器或方面是否有好处。

1 个答案:

答案 0 :(得分:0)

正如您已经发现的那样,termQuery会起作用。我会建议termFilter,因为过滤器更快,并且可以缓存。

Facets不会限制结果,但它们是出色的工具。他们会计算特定字词总结果中的匹配数,并用于faceted navigation.

相关问题