java有哪些搜索引擎 全文搜索引擎有那些?
全文搜索引擎有那些?全文搜索引擎有:Lucene的開發(fā)語言是Java,也是Java家族中之一知名的一個(gè)開源搜索引擎,在Java世界中早就是標(biāo)準(zhǔn)的全文檢索程序,它可以提供了求全部的查詢引擎和索引引擎,沒
全文搜索引擎有那些?
全文搜索引擎有:
Lucene的開發(fā)語言是Java,也是Java家族中之一知名的一個(gè)開源搜索引擎,在Java世界中早就是標(biāo)準(zhǔn)的全文檢索程序,它可以提供了求全部的查詢引擎和索引引擎,沒有中文分詞引擎,是需要自己去實(shí)現(xiàn)程序,而用Lucene去做一個(gè)搜素引擎要自己去架構(gòu).至于它不意見實(shí)時(shí)地直接搜索,但linkedin和twitter有共有對Lucene改進(jìn)的實(shí)時(shí)地搜素.其中Lucene有一個(gè)C移植版本叫CLucene,CLucene是因?yàn)榭梢允褂肅編寫,所以我理論上要比lucene快.
官方主頁:
CLucene官方主頁:
2.Sphinx
Sphinx是一個(gè)用C語言寫的開放源代碼搜索引擎,確實(shí)是現(xiàn)在都很主流的搜索引擎之一,在成立索引的事件方面比Lucene快50%,可是索引文件比Lucene要大一倍,但Sphinx在索引的建立方面是空間得到事件的策略,在檢索到速度上,和lucene超過不是太大,但檢索數(shù)據(jù)庫精準(zhǔn)度方面Lucene要效果更優(yōu)Sphinx,同時(shí)在加入到中文分詞引擎難度方面,Lucene要效果更優(yōu)Sphinx.其中Sphinx支持實(shí)時(shí)自動(dòng)搜索,可以使用下來比較簡單比較方便.
官方主頁:
3.Xapian
Xapian是一個(gè)用C匯編語言的全文檢索程序,它的api和檢索到原理和lucene在很多方面都很相象,不算擺脫了lucene在C中的一個(gè)空缺.
官方主頁:
Nutch是一個(gè)用java基于的開源的web搜索引擎,除了爬蟲crawler,索引引擎,可以查詢引擎.其中Nutch是基于條件Lucene的,Lucene為Nutch能提供了文本索引和搜索的API.
是對應(yīng)該要可以使用Lucene還是不使用Nutch,肯定是如果你不需要抓取數(shù)據(jù)的話,肯定可以使用Lucene,最常見的應(yīng)用是:你有數(shù)據(jù)源,需要為這些數(shù)據(jù)能提供一個(gè)搜索頁面,在狀況下,最好的是再從數(shù)據(jù)庫中接過數(shù)據(jù),用此LuceneAPI成立索引.
官方主頁:
DataparkSearch是一個(gè)用C語言實(shí)現(xiàn)方法的開源的搜索引擎.其中網(wǎng)頁排序是區(qū)分神經(jīng)網(wǎng)絡(luò)模型.其中接受HTTP,HTTPS,F(xiàn)TP,NNTP等去下載網(wǎng)頁.除開索引引擎,數(shù)據(jù)庫檢索引擎和中文分詞引擎(這個(gè)確實(shí)是唯一的一個(gè)開源的搜索引擎里有中文分詞引擎).能個(gè)性化定制搜索結(jié)果,具備求全部的日志記錄.
官方主頁:
6.Zettair
Zettair是參照J(rèn)ustinZobel的研究成果為基礎(chǔ)的全文檢索實(shí)驗(yàn)系統(tǒng).它是用C語言實(shí)現(xiàn)方法的.其中JustinZobel在全文檢索領(lǐng)域很有名氣,是業(yè)界第一個(gè)系統(tǒng)提出來倒排序索引差分壓縮后算法的人,倒排列表的壓縮后大大提高了檢索和讀取的性能,同樣的空間膨脹率也縮小成到蠻杰出的水平.而Zettair是緣于學(xué)術(shù)界,代碼是由RMITUniversity的搜索引擎組織寫的,而它的代碼簡潔明快裝備精練,算法高效穩(wěn)定,是去學(xué)習(xí)倒排索引經(jīng)典算法的相當(dāng)好的實(shí)例.其中支持什么linux,windows,mac os等系統(tǒng).
官方主頁:
Indri是一個(gè)用C語言和C語言寫的全文檢索引擎系統(tǒng),是由University ofMassachusetts和Carnegie MellonUniversity合作會(huì)推出的一個(gè)開源項(xiàng)目.特點(diǎn)是跨平臺(tái),API接口支持什么Java,PHP,C.
官方主頁:
8.Terrier
Terrier是由SchooltheComputingScience,UniversityofGlasgow用java開發(fā)的一個(gè)全文檢索系統(tǒng).
官方主頁:
Galago是一個(gè)用java語言寫的麻煩問下文本搜索的工具集.1個(gè)步兵旅索引引擎和去查詢引擎,還除了一個(gè)叫TupleFlow的分布式計(jì)算框架(和google的MapReduce很像).這個(gè)檢索系統(tǒng)支持什么很多Indri網(wǎng)站查詢語言.
官方主頁:
10.Zebra
Zebra是一個(gè)用C語言實(shí)現(xiàn)程序的檢索程序,特點(diǎn)是對大數(shù)據(jù)的支持,支持EMAIL,XML,MARC等格式的數(shù)據(jù).
官方主頁:
Solr是兩個(gè)用java開發(fā)的相當(dāng)于的企業(yè)級(jí)搜索應(yīng)用服務(wù)器,它需要提供了類似于Web-service的API接口,它是基于組件Lucene的全文檢索服務(wù)器,也算得Lucene的一個(gè)變種,很多一線互聯(lián)網(wǎng)公司都在使用Solr,也算得一種成熟的解決方案.
官方主頁:
12.Elasticsearch
Elasticsearch是一個(gè)區(qū)分java語言開發(fā)的,設(shè)計(jì)和實(shí)現(xiàn)Lucene構(gòu)造的開源,分布式的搜索引擎.設(shè)計(jì)主要用于云計(jì)算中,能夠提升實(shí)時(shí)搜索,穩(wěn)定可靠.Elasticsearch的數(shù)據(jù)模型是JSON.
官方主頁:
13.Whoosh
Whoosh是三個(gè)用純python寫的開源代碼搜索引擎.
官方主頁:
ES原理?
ES是基于組件Lucene的搜索服務(wù)器,它提供給了一個(gè)分布式多用戶能力的全問搜索引擎,且ES支持RestFulweb風(fēng)格的url訪問。ES是基于條件Java開發(fā)的閉源搜索引擎,啊,設(shè)計(jì)用于云計(jì)算,也能達(dá)到實(shí)時(shí)地搜索,穩(wěn)定、可信度高、飛快。當(dāng)然了,ES還能提供了數(shù)據(jù)聚合體分析功能,但在數(shù)據(jù)分析方面,es的時(shí)效性不是什么很理想和目標(biāo),在企業(yè)應(yīng)用中一般我還是主要是用于搜索。ES自2016年起早最多Solr等,稱做排名第一的搜索引擎應(yīng)用。
ES、Lucene、solr對比:
Luence是Apache基于組件Java匯編語言的信息搜索工具包(jar包),它乾坤二卦了索引結(jié)構(gòu)、讀寫索引工具、相關(guān)性工具、排序等功能,因此Lucene的使用是需要我們及時(shí)開發(fā)搜索引擎系統(tǒng),假如數(shù)據(jù)資源、解析、分詞等
Solr是個(gè)有HTTP接口的實(shí)現(xiàn)Lucene的查詢服務(wù)器,是一個(gè)搜索引擎系統(tǒng),mems器件了很多l(xiāng)ucene細(xì)節(jié),Solr可以直接借用HTTPget/POST各位去網(wǎng)上查詢,維護(hù)修改索引。Solr利用zookeeper接受分布式管理,它的實(shí)現(xiàn)程序更加全面,官方能提供的功能一些。