查找哪个嵌套条目与elasticsearch查询匹配

时间:2016-11-03 22:01:05

标签: elasticsearch

说我正在索引弹性搜索数据,如下所示:

{"entities": {

   "type": "firstName",
   "value": "Barack",
},
{
   "type": "lastName",
   "value": "Obama"
}}

我希望用户能够添加自定义属性,因此我不会提前知道“类型”的每个可能值。

我的映射可能如下:

typename:
   entities:
      type: nested

如果我对文字“奥巴马”进行匹配查询,并突出显示,有没有办法找回匹配的完整嵌套“实体”?我想知道我对“奥巴马”的查询是否与firstName或lastName匹配。

1 个答案:

答案 0 :(得分:0)

我能够用inner_hits解决这个问题(感谢Andrei!)

{
   "query": {
       "nested": {
          "query": {

               {"match": {"entities.name": "Obama"}}

           }
        },
        "inner_hits": {
          "highlight": {
             "fields": {
                 "entities.name": {}
              }
           }
        }
   }
}