2013-05-27 124 views
0

我似乎無法使用ElasticSearch 0.90突出顯示內部字段。 舉例來說,這裏是我的文檔:ElasticSearch突出顯示內部字段

{ "foo": { 
    "bar": "test bonsai" 
}} 

所查詢,如下所示:

{ "query": { 
    "query_string": { 
     "query": "bonsai" 
    } 
    }, 
    "highlight": { 
    "pre_tags": ["<b>"], 
    "post_tags": ["</b>"], 
    "fields": { 
     "foo.bar": {} 
    } 
    } 
} 

它返回的查詢結果,但沒有突出的信息。如果我不嵌套我的領域(例如{「foo」:「test bonsai」},並請求突出顯示「foo」字段而不是「foo.bar」),那麼它一切正常。但我無法使用嵌套字段。

我嘗試了不同的字段設置,包括「foo」,「bar」,「_all」,「foo。」和「」。我也嘗試過使用映射,包括定義「term_vector」(with_positions_offsets),「index」,「analyzer」,「stored」和「include_in_all」。沒有什麼竅門。
在文檔上似乎支持(here,例如查看「bio.title」)。但即使使用完全相同的查詢,它也不起作用。

+1

它應該工作。你能不能發佈你的地圖細節?得到映射:做一個GET到http:// localhost:9200/yourindex/yourtype/_mapping。爲了能夠突出elasticsearch需要來自現場自己的商店或來自_source的數據。 –

回答

4

在映射中添加「store」:「yes」可解決問題。 (我錯誤地在映射中鍵入「存儲」而不是「存儲」)

+0

你禁用了_source字段嗎? – javanna