GET dspdocs/_search
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": ["must_term1", "must_term2"],
"must_not": ["must_not_term", "must_not_term2"]
}
},
"query": {
"match": {
"text": {
"query": "query_term",
"operator": "or"
}
}
}
}
}
}
Я пытаюсь выполнить приведенный выше запрос, и я получаю следующее сообщение об ошибке:Отфильтрованной ошибка запроса
"type": "query_parsing_exception",
"reason": "[_na] query malformed, must start with start_object",
Я знаю, это означает, что мой запрос не был написано правильно или я облажался какой-то порядок где-то, но для жизни меня, я не могу понять, где я ошибся.
Я в основном пытаюсь отфильтровать все документы, которые не содержат обязательных терминов, и содержать условия must_not. Затем я выполняю поиск в пределах отфильтрованного набора для всех документов, у которых есть query_term.
(я делаю фильтрацию первой, чтобы увеличить скорость поиска незначительно)
Не могли бы вы дали пример '' must_term1' и must_not_term'? Являются ли они терминами запросов или просто 'query_term'? – keety
Это просто строки, просто необходимые для преобразования их в термины, такие как pickypg, показанные ниже, и это работает! –