У меня есть два показателя:
Первый, 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]"
Как я могу искать без ошибок, когда один индекс имеет вложенное поле, а другой нет?
Я думаю, что вам нужно использовать 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"}
}
}
]
}
}
}
Других решений пока нет …