Предположим, что у нас есть вложенный комментарий объекта с двумя тегами свойств и группой. Если я делаю ниже запроса, это дает мне желаемый результат.Свойства вложенных объектов запроса в отношении нескольких значений в elasticsearch
{
"query": {
"bool": {
"must": {
"nested": {
"query": {
"bool": {
"must": {
"match": {
"comment.tag": {
"query": "SPRING",
"type": "boolean"
}
}
},
"must_not": {
"match": {
"comment.group": {
"query": "ABC",
"type": "boolean"
}
}
}
}
},
"path": "comment"
}
}
}
}
}
Но если выполнить ниже запрос, то это не дает мне желаемого результата.
{
"query": {
"bool": {
"must": {
"nested": {
"query": {
"bool": {
"must": {
"match": {
"comment.tag": {
"query": [
"SPRING",
"HIBERNATE"
],
"type": "boolean"
}
}
},
"must_not": {
"match": {
"comment.group": {
"query": [
"ABC",
"XYZ"
],
"type": "boolean"
}
}
}
}
},
"path": "comment"
}
}
}
}
}
Разница между этими двумя, что я запрашивая оба свойства вложенного объекта с несколькими значениями.
Со вторым запросом он просто берет последние значения в списке, предоставленном для поиска и возвращает результат.
Есть ли способ написать запрос, где я могу указать список перечней значений, и все значения включены в поиск?
Первое решение делает работу, но второй один не работал. Спасибо за вашу помощь по этому поводу. –
О, woops. Второй должен быть 'должен' вместо' must', чтобы он обрабатывался как 'или' вместо' and'. – pickypg