我有一个弹性搜索索引,包含2种类型,“产品”和“品牌”
我要求过滤掉没有产品活跃的品牌(status='active'
)。
该产品包含以下字段:
brand_uuid
status
name
...
该品牌有以下领域:
uuid
name
...
到目前为止,我正在尝试运气:
http://search.localhost:9200/site/brand,product/
{
"query": {
"bool": {
"must": [
{
"term": {
"status": "active"
}
},
*** Don't know how to cross reference between types for the second query ***
]
}
}
}
我是弹性搜索的新手,之前没有这样做,是否可以执行此类搜索?
答案 0 :(得分:0)
使用品牌(父母)和产品(儿童)之间的父/子关系。看看父母/孩子'本博文中的部分:
http://www.elasticsearch.org/blog/managing-relations-inside-elasticsearch/
然后,您可以使用只会返回产品所在的品牌的has_child' filter。状态为active
。