我想使用Lucene索引現有數據庫中的表。我一直在思考的過程是這樣的:Lucene索引
- 在表
- 商店每列創建一個「場」的所有字段
- 「分析」所有的,除了與主鍵字段的字段
- 將表中的每一行作爲Lucene Document存儲在表中。
儘管此表中的大多數列都很小,但其中一個很大。該列也是包含執行搜索的大部分數據的列。
我知道Lucene提供了一個不存儲字段的選項。我想兩種解決方案:
- 存儲領域,無論大小,並且如果找到命中的搜索,從文件讀取相應的字段
- 不要存放場及如果命中發現搜索,查詢數據庫來獲得相關信息進行
我知道有可能不是一個放之四海而皆準的答案...
對帕斯卡的迴應+1。你也可以標記大字段並*不存儲*它。通過這種方式,您可以在字段上查詢(搜索),獲取相關文檔/記錄標識符並從數據庫中檢索記錄。 – Mikos 2010-07-14 00:20:11
感謝您的回覆。 如果我選擇不存儲任何字段,我也將無法使用突出顯示(Lucene contrib模塊)來突出顯示搜索結果? – 2010-07-14 16:27:07
可以在不存儲文本的情況下完成,但這不是簡單的方法。參見http://www.lucidimagination。com/search/document/5ea8054ed8348e6f/highlight_arbitrary_text#60f592f5ff0de0c5 – 2010-07-14 16:37:02