搜尋引擎選擇 Elasticsearch與Solr

2021-09-11 02:40:50 字數 1522 閱讀 3112

搜尋引擎選型調研文件

elasticsearch簡介*

elasticsearch是乙個實時的分布式搜尋和分析引擎。它可以幫助你用前所未有的速度去處理大規模資料。

它可以用於全文搜尋結構化搜尋以及分析,當然你也可以將這三者進行組合。

elasticsearch是乙個建立在全文搜尋引擎apache lucene基礎上的搜尋引擎,可以說lucene是當今最先進,最高效的全功能開源搜尋引擎框架。

當然elasticsearch並不僅僅是lucene這麼簡單,它不但包括了全文搜尋功能,還可以進行以下工作:

elasticsearch的優缺點:

優點:1、elasticsearch是分布式的。不需要其他元件,分發是實時的,被叫做「push replication」

2、elasticsearch完全支援apache lucene的接近實時的搜尋

3、處理多租戶(multitenancy)不需要特殊配置,而solr則需要更多的高階設定

4、elasticsearch採用gateway的概念,使得完全備份更加簡單

5、各節點組成對等的網路結構,某些節點出現故障時會自動分配其他節點代替其進行工作

solr簡介*

solr是apache lucene專案的開源企業搜尋平台。其主要功能包括

全文檢索

命中標識

分頁搜尋、

動態聚類、

資料庫整合、

富文字(如word、pdf)處理

solr是高度可擴充套件的,並提供了分布式搜尋的索引複製。solr是最流行的企業級搜尋引擎,solr4還增加了nosql支援。

solr的優缺點

優點1、solr有乙個更大、更成熟的使用者、開發和貢獻者社群

2、支援新增多種格式的索引,如:html、pdf、微軟office系列軟體格式以及json、xml、csv等純文字格式。

3、solr比較成熟、穩定

4、不考慮建索引的同時進行搜尋,速度更快

elasticsearch與solr的比較*

當單純的對已有資料進行搜尋時,solr更快

search_fresh_index_while_idle

當實時建立索引時,solr會產生io阻塞,查詢效能較差,elasticsearch具有明顯的優勢

search_fresh_index_while_indexing

隨著資料量的增加,solr的搜尋效率會變得更低,而elasticsearch卻沒有明顯的變化

綜上所述,solr的架構不適合實時搜尋的應用。

elasticsearch與solr的比較總結

solr是傳統搜尋應用的有力解決方案,但elasticsearch更適用於新興的實時搜尋應用。

搜尋引擎 索引

正排索引 文件編號,單詞編號,單詞的數量,單詞出現的位置。倒排索引 1,單詞詞典,儲存單詞以及統計資訊,單詞在記錄表中的便宜,可常駐記憶體,用雜湊表儲存。2,記錄表,單詞對應的文件集合,記錄單詞出現的數目 位置。文件採用差分變長編碼。其中文件可按編號公升序排列 可利用差分編碼 也可按出現次數排列,可...

MySQL搜尋引擎程式 mysql搜尋引擎

mysql是我們比較常用的一種資料庫軟體。它有著諸多的優點,如開源的,免費的等等。其實它還有乙個很好的特點,那就是有多種引擎可以供你選擇。如果賽車手能根據不同的路況,地形隨手更換與之最適宜的引擎,那麼他們將創造奇蹟。然而目前他們還做不到那樣便捷的更換引擎,但是我們卻可以 所謂知己知彼方可百戰不殆,要...

搜尋引擎 倒排索引

本節通過引入簡單例項,介紹與搜尋引擎索引有關的一些基礎概念,了解這些基礎概念對於後續深入了解索引的工作機制非常重要。3.1.1單詞 文件矩陣 單詞 文件矩陣是表達兩者之間所具有的一種包含關係的概念模型,圖3 1展示了其含義。圖3 1的每列代表乙個文件,每行代表乙個單詞,打對勾的位置代表包含關係。圖3...