【问题标题】:How can I query/filter an elasticsearch index by an array of values?如何通过值数组查询/过滤弹性搜索索引?
【发布时间】:2012-08-31 18:26:19
【问题描述】:

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

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

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

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

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

【问题讨论】:

标签: elasticsearch


【解决方案1】:

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

构面不会限制结果,但它们是极好的工具。它们在您的特定术语的总结果中计算命中,并用于faceted navigation.

【讨论】:

  • 你能帮我处理一下this question吗?谢谢
  • @AbhishekSimon 是的,刚刚回复。我可以在几个小时内提供更多详细信息,但我链接到您需要使用的类型。
猜你喜欢
  • 1970-01-01
  • 2015-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-12
相关资源
最近更新 更多