Мультииндексный поиск с вложенными полями

У меня есть два показателя:

Первый, questions, есть вложенное поле answers, Во-вторых, articles нет этого поля.

Я пытаюсь найти по нескольким индексам:

{
"index": "questions, articles",
"body":{
"query":{
"bool":{
"must":{
"nested":{
"path": "answer",
...
}
}
}
}
}
}

и получить ошибку "query_parsing_exception: [nested] failed to find nested object under path [answer]"

Как я могу искать без ошибок, когда один индекс имеет вложенное поле, а другой нет?

1

Решение

Я думаю, что вам нужно использовать indices запрос и использовать разные запросы для каждого индекса. Что-то вроде этого:

GET /questions,articles/_search
{
"query": {
"bool": {
"must": [
{
"bool": {
"should": [
{
"indices": {
"indices": [
"questions"],
"query": {
"nested": {
"path": "answer",
"query": {
"term": {
"text": "bla"}
}
}
}
}
},
{
"match_all": {}
}
]
}
},
{
"term": {
"some_common_field": {
"value": "whatever"}
}
}
]
}
}
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]