我有一些文档以弹性存储,并希望在几个术语上查询它们,并有几个可能的值。
例如,该文件基本上如下:
[id] => 1
[title] => 'running shoes'
[parent_product_id] => 100
[brand_id] => 198
[category_id] => 3
例如,我想查找属于1,2和3类别之一且品牌为198或245的所有产品。
一个产品只有一个类别,只有一个品牌,但我需要搜索能力接受两者的倍数。因此,所有产品都属于1类,但多个品牌,或多个品牌下的一个品牌,或多个类别下的多个品牌。
由于
答案 0 :(得分:0)
我有一些文档以弹性存储,并希望在几个术语上查询它们,并有几个可能的值。
请在此处阅读:How to combine filters,How to combine queries
例如,我希望查找属于1,2和3类别之一且品牌为198或245的所有产品。
试试这个:
curl -XGET 'http://localhost:9200/_search?pretty' -d '{
"filter": {
"bool": {
"must": [
{
"terms": {
"category_id": [1, 2, 3]
}
},
{
"terms": {
"brand_id": [198, 245]
}
}
]
}
}
}'