2016-07-17 28 views
1

我正在研究涉及Elasticsearch的項目。到目前爲止,除了突出顯示外,我可以獲得最多的功能。我正在使用Laravel + Elasticsearch官方PHP客戶端。無法獲得Elasticsearch突出顯示工作

以前我還以爲是我的PHP代碼中的問題,在這裏問了一個問題: highlight field missing from Elasticsearch results, PHP

後來當我elasticsearch頭在瀏覽器嘗試,我還是看不到結果的亮點領域,所以我猜測我的彈性搜索設置或索引文檔的方式肯定有問題。

這是我進入elasticsearch頭查詢:

{ 
"query" : { 
    "match" : { 
     "combined" : "DNA" 
    } 
}, 
"highlight": { 
    "fields" : { 
     "combined" : {} 
    } 
} 
} 

而且我沒有看到「亮點」通過elasticsearch返回命中「_source」之後。

我在這裏做錯了什麼?

請注意,

謝謝。

更新:我在Ubuntu 16.04 LTS桌面,JDK 1.8上運行Elasticsearch 2.3.3。

Documentation表示映射中的「存儲」需要設置爲true。我這樣做,並重新索引了一堆文件。這並沒有解決問題。

+0

你的映射是什麼?並請給出一個文件的例子... – israelst

+0

我跟着這裏的例子: https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/_index_management_operations.html 先進的例子與輕微的定製。後來,正如我在回答中所述,問題是真正的「商店」需要被設置爲真實。開始時我忽略了一些東西。 – Jerome

回答

0

好的,停止並重新啓動elasticsearch服務後,我的代碼開始按預期工作。我在結果中獲得了「突出顯示」字段。

問題是我需要將「store」設置爲true。其他一切都是平等的,包括以下行

"store" => true 

在映射確保「高亮度」出現在我有的結果。反之亦然。

不知道爲什麼之前這樣做並沒有解決我的問題。

+0

你在哪裏添加「store」=> true? –