2016-11-03 99 views
0

說我索引elasticsearch數據,像這樣:查找其嵌套條目匹配的elasticsearch查詢

{"entities": { 

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

我希望用戶能夠添加自定義的屬性,所以我不知道每一個可能的值提前「類型」。

我的映射可能是:

typename: 
    entities: 
     type: nested 

如果我做文「奧巴馬」,以突出顯示匹配的查詢,有沒有辦法找回其花色品種嵌套的「實體」?我想知道我的「Obama」查詢是否匹配firstName或lastName。

+0

'inner_hits'爲您提供了相匹配的嵌套文檔(感謝安德烈!):https://www.elastic.co/guide/en/elasticsearch/參考/ 2.4 /搜索請求內hits.html –

回答

0

我能夠與inner_hits解決這個

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

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

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