Как вернуть несколько внутренних попаданий в несколько вложенных подзапросов для одного и того же пути? - PullRequest
0 голосов
/ 21 сентября 2018

Когда у меня есть несколько вложенных подзапросов для одного и того же пути, кажется, что результат будет включать в себя только результаты внутренних попаданий последнего вложенного подзапроса.Есть ли способ вернуть все результаты внутренних попаданий для нескольких вложенных подзапросов?

например,

{
    "query": {
        "bool: {
            "must": [{
                "nested": {
                    "query": {...},
                    "path": "path_a",
                    "inner_hits": {}
                }
            },{
                "nested": {
                    "query": {...},
                    "path": "path_a",
                    "inner_hits": {}
                }
            }]
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Если вы добавите уникальный name к вашему inner_hits, то результат будет в основном содержать карту ваших внутренних попаданий, как вы ожидаете.

Примечание : ЭтоКажется, что иногда внутренние хиты содержат дополнительные имена запросов (из других вложенных запросов) в matched_queries, поэтому может потребоваться некоторая постобработка

0 голосов
/ 21 сентября 2018

Для того же пути необходимо указать вложенный путь перед его подзапросами.

Ниже приведен пример поиска, по совпадению или диапазону, по тому же вложенному пути.Вы можете изменить поиск в соответствии со своими потребностями.

    GET index/_search
    {
      "query": {
        "nested": {
          "path": “path.subpath”,
          "query": {
            "bool": {
              "must": [
                { "match": { “path.subpath.match1”: “valueMatch” }},
                { "range" : {  “path.subpath.range1” :         {"gte": “rangeMatch”  }  }  
 }
              ]
            }
          }
        }
      }
    }

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...