2013-04-01 67 views
0

我無法制作此錯誤的頭部或尾部,它發生得非常隨機,我甚至不知道從哪裏開始尋找。elasticsearch突出顯示錯誤,未能突出顯示...字符串索引超出範圍

這是完整的錯誤看起來像

輪胎::搜索:: SearchRequestFailed:500:

{ 
    "error": "SearchPhaseExecutionException[Failed to execute phase [query_fetch], total failure; 
      shardFailures {[7McitJnjQkqLkViqUpZUyw][content][4]: 
       FetchPhaseExecutionException[[content][4]: 
       query[+_all:account +_all:set +_all:up],from[0],size[20]: 
       Fetch Failed [Failed to highlight field [post_content]]]; 
       nested: StringIndexOutOfBoundsException[String index out of range: -5]; }]", 
    "status": 500 
} 

查詢像 「關係學」

將會運行得很好,但運行 「以關係爲中心學習」

會拋出錯誤,其實這些字母中的任何一個c, d,j,q,x,z與「關係學習」一起使用。就像「d關係學習」會拋出錯誤。

它真的很瘋狂。

我正在運行彈性搜索19.2與輪胎 我只想知道從哪裏開始尋找,任何想法都將有所幫助。

我有問題的This is a more complete explanation,這是完全一樣的

+0

它看起來像一個快速向量熒光筆中的錯誤。如果您可以升級到0.20,您可以嘗試通過向熒光筆請求添加'「type」:「highlighter」'屬性來切換到標準熒光筆,以查看是否可以解決問題。 – imotov

+0

謝謝imotov!是否有你在ES中知道的修正可能已經在0.20.x中修復了這個問題,還是在ES上的版本衝突升級中修復的lucene問題? – concept47

+0

不是我所知道的。我所建議的不是一個修復,而是解決方法。您可以通過在沒有term_vectors的情況下重新索引記錄來獲得相同的結果。順便說一句,你能發佈完整的堆棧跟蹤這個錯誤嗎? – imotov

回答

0

正如上面@imotov說,這是在Lucene的一個bug,因此elasticsearch,https://issues.apache.org/jira/browse/LUCENE-4899

您可以通過不使用它解析快速向量熒光筆,或通過將fragment_size設置爲更高的數字來減少出現的錯誤的發生率。

我懷疑他們會完全消失,除非你將fragment_size設置爲一個不可能的高數目,你可以這麼做(理論上,但是你必須自己處理截斷,這種失敗的目的是在第一位的熒光筆)