内部查询在布尔查询中的双重嵌套字段上

时间:2018-06-21 08:04:34

标签: elasticsearch

我正在使用布尔查询在文档的多个字段中查找查询字符串。我想使用突出显示来显示匹配哪些字段以导致返回文档。我使用下面的查询来告诉我非嵌套字段(应该在数组中的第一个)是否匹配,但是我无法弄清楚如何为双嵌套部分获得突出显示。

 "query": {
    "bool": {
      "should": [
        {
          "match": {
            "name": {
              "boost": 100.0,
              "query": "queryString"
            }
          }
        },
        {
          "nested": {
            "query": {
              "nested": {
                "boost": 1.0,
                "query": {
                  "match": {
                    "nested1.nested2.name": {
                      "query": "queryString"
                    }
                  }
                },
                "path": "nested1.nested2"
              }
            },
            "path": "nested1"
          }
        }
      ]
    }
 },
 "highlight": {
    "fields": {
      "m_szTopicName": {}
    }
  }

我尝试添加与"path": "nested1.nested2"相同级别的内部匹配突出显示,但是似乎未返回任何内容(并且我得到的结果未在工作部分得到突出显示,因此我假设它们必须与双重嵌套查询匹配)。

"inner_hits": {
    "highlight": {
        "fields": {
            "nested1.nested2.name": {}
        }
    }
}

0 个答案:

没有答案