我有一个带有数字类别ID的弹性搜索索引,如下所示:
{
"id": "50958",
"name": "product name",
"description": "product description",
"upc": "00302590602108",
"**categories**": [
"26",
"39"
],
"price": "15.95"
}
我希望能够传递一个类别ID数组(例如,包含所有子类的父ID),并仅返回与其中一个类别匹配的结果。我一直在尝试使用术语查询,但没有运气。
另外,作为elasticsearch的新用户,我想知道我是否应该使用过滤器/方面...
ANSWERED! 我最终使用了术语查询(而不是术语)。我仍然有兴趣知道使用过滤器或方面是否有好处。
答案 0 :(得分:0)
正如您已经发现的那样,termQuery会起作用。我会建议termFilter,因为过滤器更快,并且可以缓存。
Facets不会限制结果,但它们是出色的工具。他们会计算特定字词总结果中的匹配数,并用于faceted navigation.