代码之家  ›  专栏  ›  技术社区  ›  user1589188

如何在同一路径的多个嵌套子查询中返回多个内部命中?

  •  1
  • user1589188  · 技术社区  · 7 年前

    例如

    {
        "query": {
            "bool: {
                "must": [{
                    "nested": {
                        "query": {...},
                        "path": "path_a",
                        "inner_hits": {}
                    }
                },{
                    "nested": {
                        "query": {...},
                        "path": "path_a",
                        "inner_hits": {}
                    }
                }]
            }
        }
    }
    
    2 回复  |  直到 7 年前
        1
  •  6
  •   Tom    7 年前

    如果添加一个 name inner_hits

    注意 :似乎有时内部命中在 matched_queries

        2
  •  1
  •   Anita    7 年前

    对于同一路径,需要在其子查询之前指定嵌套路径。

    下面是在同一嵌套路径中通过匹配或范围进行搜索的示例。您可以根据需要修改搜索。

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

    我希望这有帮助!