Объекты InnerHits, не соответствующие целому запросу, не должны попадать в результат в Elasticsearch - PullRequest
0 голосов
/ 25 сентября 2019

В моих данных Имена и документы являются вложенными объектами. Мои данные

       {
           "id":"1234"
           "Names":{
                 "name":"Elasticseasrch,
                 "count":14
                },
           "documents":[{
                     "type":"pan",
                     "value"234234sdfsd"
                      },
                   {
                     "type":"passport",
                     "value"543543"
                      }
                     ]
           },

       {
           "id":"456"
           "Names":{
                 "name":"Kibana,
                 "count":6
                },
           "documents":[{
                     "type":"pan",
                     "value"6775675757"
                      },
                   {
                     "type":"passport",
                     "value"543543"
                      }
                     ]
           }

Мой запрос - это где id и имя или документ должны совпадать.результирующий документ содержит объект innerhit «456_doc», где это соответствует значению документа = «234234sdfsd», где id - «1234», но не «456».поэтому я не хочу, чтобы "456_doc" внутрихитовый объект в результате.

                          {
                    "query": {
                         "bool": {
                            "must": [
                                  {
    "bool":{
      "must":[

          { "match": {
             "id":"1234"
            }
          },
          {
             "bool": {
                    "should": [
                                      {
           "nested": {
        "inner_hits": {
          "_source": true,
          "name":"1234_name"
        },
        "path": "Names",
          "query": {
            "match": {
             "Names.name":"Elasticsearch"
            }
            }
          }
          } ,
                                {
           "nested": {
        "inner_hits": {
          "_source": true,
          "name":"1234_doc"
        },
        "path": "documents",
          "query": {
            "match": {
             "documents.value":"234234sdfsd"
            }
            }
          }
          }
          ]
          }
          }
          ]
    }
    },
           {
    "bool":{
      "must":[

          { "match": {
             "id":"456"
            }
          },
          {
             "bool": {
                    "should": [
                                      {
           "nested": {
        "inner_hits": {
          "_source": true,
          "name":"456_name"
        },
        "path": "Names",
          "query": {
            "match": {
             "Names.name":"kibana"
            }
            }
          }
          } ,
                                {
           "nested": {
        "inner_hits": {
          "_source": true,
          "name":"456_doc"
        },
        "path": "documents",
          "query": {
            "match": {
             "documents.value":"234234sdfsd"
            }
            }
          }
          }
          ]
          }
          }
          ]
    }
    }
          ]
}

}}

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