2012-04-11 110 views
3

當使用elasticsearch搜索一些文檔時,我想查看文檔中的哪個字段是「hit」,並將其標記爲搜索結果。有沒有一種原生的方式來做到這一點,還是我需要在搜索客戶端上做到這一點?在elasticsearch中,有沒有辦法顯示文檔中的哪個字段是「hit」?

E.g:

GET /events/_search?q=nottingham 

給我:

{//elided 
    {'hits'[ 
     {'id':1, 
     'name': 'Some name', 
     'nicknames': ['Nottingham'] 
     }]}} 

這是從這個例子的暱稱匹配顯而易見的,但我可以向elasticsearch標誌,給我嗎?

回答

6

Elasticsearch可以在結果字段中查找並突出顯示來自查詢的術語。有關更多信息,請參閱http://www.elasticsearch.org/guide/reference/api/search/highlighting.html。從技術上來說,這與引起「撞擊」的標記字段不同,但對於大多數實際用途而言,它是有用的。

+3

是的,爲了向用戶顯示信息,請使用突出顯示功能。如果您想知道文檔匹配的技術細節,請參閱Analyze API [http://www.elasticsearch.org/guide/reference/api/admin-indices-analyze.html]。 – karmi 2012-04-11 20:21:45

相關問題