2

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

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

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

另外,作为弹性搜索的新用户,我想知道是否应该为此使用过滤器/构面...

回答!我最终使用了术语查询(而不是术语)。我仍然想知道使用过滤器或构面是否有好处。

4

1 回答 1

0

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

方面不会限制结果,但它们是极好的工具。它们计算特定术语的总结果中的命中,并用于分面导航。

于 2012-09-01T16:33:09.480 回答