2014-01-23 119 views
0

我有很多字段從lucene獲取數據。 該領域中的一個是: NTF_com.cisco.vportal.1.TranscodingStatus ,其值爲: FAILED:DEPLOY_FALSE:bdecc8c3-0389-47b7-bbe5-04a2611e4be9:dms.job.transform.input.format .unsupported.error:dms.job.transform.error.type.permanent在lucene中搜索子字符串

現在我想檢查搜索天氣這個值包含失敗或不。

我試圖與WildcardQuery但它不是爲我工作,我把它作爲

org.apache.lucene.index.Term term=neworg.apache.lucene.index.Term("NTF_com.cisco.vportal.1.TranscodingStatus", "FAILED*"); 
Query wquery=new WildcardQuery(term); 

,但沒有得到正確的結果。

我只是想檢查天氣這個字段包含我通過它的子字符串。

+0

它是一個分析字段或字符串類型的字段? –

+0

否其未分析...... –

+0

必須對其進行分析才能利用通配符等功能。對於字符串字段,您只能獲得文字匹配。 –

回答

1

爲了讓您的字段的內容可搜索,第一步是分析該字段。這意味着,應用一系列轉換,清理,標記等來提取可搜索單元(令牌)。

在你的情況下,你可以使用WordDelimiterFilter作爲分析鏈中的一個步驟。

+1

是的,我沒有分析它,經過分析得到的結果... 泰克兄弟... –

+0

很酷,如果它的工作,你可以標記爲答案,請嗎? –