Я пытаюсь использовать этот запрос, чтобы получить все документы с закрытым или ожидающим статусом или вообще без статуса, но этот запрос всегда ничего не возвращает.
"query": {
"bool": {
"should": [
"terms": {
"status": ["closed","pending"]
},
"missing":{
"field":"status"
}
]
}
}
Индивидуально запросы работают. Если я использую: "запрос": { "bool": { "должен": [ "термины": { «статус»: [«закрыто», «ожидает рассмотрения»] } ] } }
Затем он возвращает 2 документа.
И если я использую
"query": {
"bool": {
"should": [
"missing":{
"field":"status"
}
]
}
}
Он возвращает 3.
Эти результаты верны для каждого запроса. Я просто хочу объединить 2 запроса и получить результат 5. Что не так с первым запросом?
1 ответ
Этот запрос ES 5.0, и он должен работать в версии 2.0
POST es1/example/_search
{
"query": {
"bool": {
"should": [
{
"terms": {
"status": [
"closed",
"pending"
]
}
},
{
"bool": {
"must_not": [
{
"exists": {
"field": "status"
}
}
]
}
}
]
}
}
}
Похожие вопросы
Новые вопросы
json
JSON (нотация объектов JavaScript) — это сериализуемый формат обмена данными, который может быть прочитан машиной и человеком. Не используйте этот тег для собственных объектов JavaScript или литералов объектов JavaScript. Прежде чем задать вопрос, подтвердите свой JSON с помощью валидатора JSON, такого как JSONLint (https://jsonlint.com).