全文檢索工具有哪些
發(fā)布時(shí)間:2025-10-22 | 來(lái)源:互聯(lián)網(wǎng)轉(zhuǎn)載和整理
1.Lucene
Lucene的開發(fā)語(yǔ)言是Java,也是Java家族中最為出名的一個(gè)開源搜索引擎,在Java世界中已經(jīng)是標(biāo)準(zhǔn)的全文檢索程序,它提供了完整的查詢引擎和索引引擎,沒(méi)有中文分詞引擎,需要自己去實(shí)現(xiàn),因此用Lucene去做一個(gè)搜素引擎需要自己去架構(gòu).另外它不支持實(shí)時(shí)搜索,但linkedin和twitter有分別對(duì)Lucene改進(jìn)的實(shí)時(shí)搜素.其中Lucene有一個(gè)C++移植版本叫CLucene,CLucene因?yàn)槭褂肅++編寫,所以理論上要比lucene快.
2.Sphinx
Sphinx是一個(gè)用C++語(yǔ)言寫的開源搜索引擎,也是現(xiàn)在比較主流的搜索引擎之一,在建立索引的事件方面比Lucene快50%,但是索引文件比Lucene要大一倍,因此Sphinx在索引的建立方面是空間換取事件的策略,在檢索速度上,和lucene相差不大,但檢索精準(zhǔn)度方面Lucene要優(yōu)于Sphinx,另外在加入中文分詞引擎難度方面,Lucene要優(yōu)于Sphinx.其中Sphinx支持實(shí)時(shí)搜索,使用起來(lái)比較簡(jiǎn)單方便.
3.Xapian
Xapian是一個(gè)用C++編寫的全文檢索程序,它的api和檢索原理和lucene在很多方面都很相似,算是填補(bǔ)了lucene在C++中的一個(gè)空缺.
4.Nutch
Nutch是一個(gè)用java實(shí)現(xiàn)的開源的web搜索引擎,包括爬蟲crawler,索引引擎,查詢引擎.其中Nutch是基于Lucene的,Lucene為Nutch提供了文本索引和搜索的API.
對(duì)于應(yīng)該使用Lucene還是使用Nutch,應(yīng)該是如果你不需要抓取數(shù)據(jù)的話,應(yīng)該使用Lucene,最常見(jiàn)的應(yīng)用是:你有數(shù)據(jù)源,需要為這些數(shù)據(jù)提供一個(gè)搜索頁(yè)面,在這種情況下,最好的方式是直接從數(shù)據(jù)庫(kù)中取出數(shù)據(jù),并用LuceneAPI建立索引.
5.DataparkSearch
DataparkSearch是一個(gè)用C語(yǔ)言實(shí)現(xiàn)的開源的搜索引擎.其中網(wǎng)頁(yè)排序是采用神經(jīng)網(wǎng)絡(luò)模型.其中支持HTTP,HTTPS,F(xiàn)TP,NNTP等下載網(wǎng)頁(yè).包括索引引擎,檢索引擎和中文分詞引擎(這個(gè)也是唯一的一個(gè)開源的搜索引擎里有中文分詞引擎).能個(gè)性化定制搜索結(jié)果,擁有完整的日志記錄.
6.Zettair
Zettair是根據(jù)JustinZobel的研究成果為基礎(chǔ)的全文檢索實(shí)驗(yàn)系統(tǒng).它是用C語(yǔ)言實(shí)現(xiàn)的.其中JustinZobel在全文檢索領(lǐng)域很有名氣,是業(yè)界第一個(gè)系統(tǒng)提出倒排序索引差分壓縮算法的人,倒排列表的壓縮大大提高了檢索和加載的性能,同時(shí)空間膨脹率也縮小到相當(dāng)優(yōu)秀的水平.由于Zettair是源于學(xué)術(shù)界,代碼是由RMITUniversity的搜索引擎組織寫的,因此它的代碼簡(jiǎn)潔精煉,算法高效,是學(xué)習(xí)倒排索引經(jīng)典算法的非常好的實(shí)例.其中支持linux,windows,macos等系統(tǒng).
7.Indri
Indri是一個(gè)用C語(yǔ)言和C++語(yǔ)言寫的全文檢索引擎系統(tǒng),是由UniversityofMassachusetts和CarnegieMellonUniversity合作推出的一個(gè)開源項(xiàng)目.特點(diǎn)是跨平臺(tái),API接口支持Java,PHP,C++.
來(lái)自網(wǎng)絡(luò)。
上一篇:中元節(jié)半夜可以出去嗎
下一篇:張家口方言八你賊娘是什么意思