搜尋引擎選型調研文件
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...