具有以下查询:
curl -XGET 'localhost/my_index/my_type/_search?pretty=true' -d'
{
"query": {
"bool": {
"must": [
{
"query_string": {
"default_field": "body",
"query": "hello stackoverflow"
}
},
{
"terms": {
"_id": ["10"]
}
},
{
"has_child": {
"type": "user_item_relation",
"query": {
"term": {
"user_id": "1234"
}}}},
{
"has_child": {
"type": "user_item_relation",
"query": {
"term": {
"fav": "0"
}}}}]}}}'
有没有办法将两个最后条件(user_id = 1234
和fav = "0"
)合并到一个条件而不使用两次has_child
?
答案 0 :(得分:1)
在bool
内使用has_child
查询。
curl -XGET "http://localhost:9200/my_index/my_type/_search?pretty=true" -d'
{
"query": {
"bool": {
"must": [
{
"query_string": {
"default_field": "body",
"query": "hello stackoverflow"
}
},
{
"terms": {
"_id": [
"10"
]
}
},
{
"has_child": {
"type": "user_item_relation",
"query": {
"bool": {
"must": [
{
"term": {
"user_id": "1234"
}
},
{
"term": {
"fav": "0"
}
}
]
}
}
}
}
]
}
}
}'