我正在执行以下查询,我希望它能够获取包含关键字“images”的所有文档,并且属于类别1857或1859.但是结果数量明显高于预期的数量。如果不是我认为的那样,这个查询会做什么?
{
"query": {
"bool": {
"must": [
{
"terms": {
"category_id": [1857, 1859]
}
},
{
"match": {
"_all": {
"query": "images"
}
}
}
]
}
}
}
答案 0 :(得分:0)
它应该如您所描述的那样工作:它返回category_id
具有术语1857或1859且至少一个字段具有images
术语的文档。换句话说,它匹配以下表达式:(category_id in (1857, 1859)) and _all = 'images'
。
由于您无法提供错误匹配文档的示例,请尝试使用explain
querystring参数运行查询,或将其作为字段添加到正文中,如下所示
{
"explain": true,
"query": {
"bool": {
"must": [
{
"terms": {
"category_id": [
1857,
1859
]
}
},
{
"match": {
"_all": {
"query": "images"
}
}
}
]
}
}
}