最近要用到全文檢索技術。
這個Lucene是個在java界有著很高聲譽的全文檢索包。
通過學習,自己對它算是有個初步了解。所以寫下心得與經驗跟朋友們分享。
對于整個網站的結構我說下我的看法
數據庫+前端技術+后臺處理技術。
上面的這些我就不說了。用來用去就是那幾個,你覺得那個用的順手就行了。
搜索引擎技術呢,我覺得要點是:
1。把我們分散的數據資源整合起來-----對應于Lucene的Index也就是索引的意思。
我們把數據庫的數據,按照自己的方式進行索引,關于索引的技術可以上網查看。這些索引的數據結構是可以自己定義的,這樣方便查詢。
2。搜索技術,因為我們的資源太分散了,就拿數據里面的資源來說吧,每個表都不同,里面的字段都不同,如果單純采用數據庫來做的話,你可能要寫很多個api進行搜索。并對搜索結果進行出里,這樣我們就要自己做很多事情。這么麻煩的話,我們何不把這些數據庫里面的數據進行索呢,把我們需要的數據,歸類,整理,然后保存到索引中,雖然這樣會增加磁盤的容量,但我覺得這應該就不是問題。
對于搜索技術,我們這里又要涉及到關于分詞的技術,因為我們中文不同洋文,對分詞技術的要求比較高。在這里,我也只是略微看了下Lucene的理論,具體實現,我也很模糊。如果分詞分的好,對于搜索精度是有很大幫助的。
3。說實話索引就是一個數據庫。他可以更新,刪除,修改等。
先記錄下這么多,以后在項目中實踐的時候,繼續說說我的理解
理解可能偏差比較大。大家不要被我誤導啊。
不錯的關于lucene英文書
點此下載。