在上學的時候就對搜索有着極大地興趣,圖書館也借了好多的書看過,也用過Python寫過爬蟲。
有好多人在初步學習Lucene的時候都以為他是一個搜索引擎,或者搜索工具。
在此我要特別強調一下,Lucene絕對不是一個搜索引擎或者是搜索工具,他就是一個jar包(一系列),一個工具,一個API,而且他是一個檢索工具,也不是搜索工具。
所謂搜索引擎,比如:百度,搜狗,獵兔,恕我愚昧只知道國內的。這才是搜索引擎,搜索引擎,大概(非常宏觀的哦)分為兩部分:
1、爬蟲。也是非常重要的一部分,需要對互聯網上的信息非常全面的下載到本地服務器,比如百度服務器,那數據量真的就海了去了,用爬蟲爬遍互聯網的每一個角落,每一個頁面,將內容下載到服務器本地。
2、檢索。這才是我們Lucene需要干的活,下載到本地之后,我們就需要類似Lucene將海量的數據進行掃描、分詞,根據一定的分詞規則,建立索引,然后,有需要搜索的時候再去本地索引檢索。
當然啊,百度那肯定是一個非常復雜的系統,比如爬蟲什么時候爬?怎么爬?怎么做到實時更新?爬到的信息權重怎么算?索引按照什么區分詞?等等等等。都是非常復雜的,我肯定不知道,這里只是作為一個引子,引出我們需要討論的Lucene。
還有一個問題就是,Lucene.nutch.solr.這三個東西經常一起出現,而且特別容易搞混,剛開始的時候我就比較混。
所以,我也想寫一下,全篇都是個人理解啊,有問題請您一定指出來(雖然也不一定有人看,手動尷尬。。。自娛自樂。。。)
Lucene,正如前文所說,是一個工具!工具!工具!重要的事情說三遍,他就是一個API,沒有什么復雜的應用。但是nutch,solr都是從Lucene開發出來的,或者說進一步封裝了一些應用在里面。
solr 在Lucene的基礎上封裝了一些功能,或者你就可以理解成為,有人基於Lucene這個jar包開發出來了一個可用的web工程,有頁面,有接口,有一些高亮了其他功能。(暴龍獸進化)
nutch 這個就叼了,這是完全的一個搜索引擎,你可以叫做“小百度”,搜索引擎的很多功能基本都有了,爬蟲,我們剛說的,對不對,索引,分詞,查詢對不對,都有了。搞懂了之后你就可以自己搭一個搜索引擎了,叼不。呵呵。(暴龍獸超進化)
究極進化,我也不知道在哪。
這幾天太閑了,繼續研究,具體怎么玩兒,明天再寫吧,一會兒三篇好嘞呀,浪一會兒可以回家了。