2011-02-09 80 views
1

更新的原始問題Lucene的領域不可搜索

我創建了一個從數據庫中的內容,然後索引它拉的程序。在這個過程中,我建立了一個名爲searchField的字符串變量,它由各種不同的信息組成。一旦建立了這個字符串,我會進行以下調用。

doc.add(new Field("search", this.stripHTMLTags(searchField), Field.Store.NO, Field.Index.ANALYZED)); 

我知道該字符串不是空的,因爲我把打印語句來顯示內容,右邊的數據能夠進入doc.add()。

當我搜索關鍵詞實際上在searchField中顯示的內容時,我沒有找到匹配。

我不確定提供哪些其他細節,我確定有更多需要,請幫助我幫助您更好地理解,並希望這可以得到解決!

在此先感謝!

+0

只是爲了確定,你是否將文檔本身添加到索引?另外,你如何做你的搜索? – ffriend 2011-02-10 02:15:59

+2

我建議您描述如何構建索引,使用的分析器,示例文檔和運行的示例查詢,哪些應該得到匹配,但是不會。順便說一句,這是一個Lucene用戶的好用戶名... – 2011-02-10 06:40:05

+0

你可以檢查stripHTMLTags(searchField)的輸出嗎? – 2011-02-10 07:52:49

回答

1

嘗試

doc.add(new Field("search", this.stripHTMLTags(searchField), Field.Store.YES, Field.Index.ANALYZED)); 
1

我建議你索引到一個文件目錄,然後使用Luke尋找到被索引的內容。 Luke是調試Lucene相關問題的最佳工具。

現在我的直覺是,你正在索引和搜索時使用不同的分析儀。確保您的索引和搜索操作使用相同的分析儀。