这是我关于堆栈溢出的第一个问题,请原谅我的错误。以后我会改进它们。
我也是Elastic Search的新手。好的,我正在尝试在 flex 搜索(5.0.4)中进行精确匹配。该请求将返回存在的所有文档,而不是进行完全匹配。
不知道这种行为。

这是映射

{
   "properties":{
      "debug_urls":{
         "properties":{
            "characteristics":{
               "type":"text",
               "fields":{
                  "keyword":{
                     "type":"keyword",
                     "ignore_above":256
                  }
               }
            },
            "url_id":{
               "type":"long"
            }
         },
         "type":"nested"
      },
      "scanId":{
         "type":"text",
         "fields":{
            "keyword":{
               "type":"keyword",
               "ignore_above":256
            }
         }
      }
   }
}

这是我的要求。
{
    "query": {
        "nested": {
           "path": "debug_urls",
           "query": {
               "match": {
                  "debug_urls.url_id": 1
               }
           }
        }
    }
}

收到回复,
{
   "took":1,
   "timed_out":false,
   "_shards":{
      "total":5,
      "successful":5,
      "failed":0
   },
   "hits":{
      "total":1,
      "max_score":1,
      "hits":[
         {
            "_index":"cust_cca39c0c6c8141008e9411032bbf4d21",
            "_type":"debug-urls",
            "_id":"AW70h0l72s9qXitMsWgC",
            "_score":1,
            "_source":{
               "scan_id":"n_a0a523fb5c81435fb79c34c624c7fbd6",
               "debug_urls":[
                  {
                     "url_id":1,
                     "characteristics":[
                        "FORM",
                        "EXTERNAL_SCRIPT",
                        "INLINE_SCRIPT"
                     ]
                  },
                  {
                     "url_id":2,
                     "characteristics":[
                        "EXTERNAL_SCRIPT",
                        "INLINE_SCRIPT"
                     ]
                  },
                  {
                     "url_id":3,
                     "characteristics":[
                        "EXTERNAL_SCRIPT",
                        "INLINE_SCRIPT"
                     ]
                  },
                  {
                     "url_id":4,
                     "characteristics":[
                        "EXTERNAL_SCRIPT",
                        "INLINE_SCRIPT"
                     ]
                  },
                  {
                     "url_id":5,
                     "characteristics":[
                        "EXTERNAL_SCRIPT",
                        "INLINE_SCRIPT"
                     ]
                  },
                  {
                     "url_id":6,
                     "characteristics":[
                        "EXTERNAL_SCRIPT",
                        "INLINE_SCRIPT"
                     ]
                  },
                  {
                     "url_id":7,
                     "characteristics":[
                        "EXTERNAL_SCRIPT",
                        "INLINE_SCRIPT"
                     ]
                  }
               ]
            }
         }
      ]
   }
}

最佳答案

如果只想查看符合条件的嵌套文档,则可以利用nested inner_hits :

{
    "_source":["scan_id"],                     <--- add this line
    "query": {
        "nested": {
           "path": "debug_urls",
           "query": {
               "match": {
                  "debug_urls.url_id": 1
               }
           },
           "inner_hits": {}                    <--- add this line
        }
    }
}

10-08 06:19