1.阿里雲OpenSearch
阿里雲開放搜索OpenSearch是一款阿里巴巴自主研發的大規模分布式搜索引擎平台,該平台承載了淘寶、天貓、1688、神馬搜索、口碑、菜鳥等搜索業務,通過OpenSearch雲服務的方式,將阿里巴巴成熟的搜索技術共享給廣大開發者。
https://help.aliyun.com/document_detail/29119.html
2.Lucene
Lucene 是一個 JAVA 搜索類庫,它本身並不是一個完整的解決方案,需要額外的開發工作。
優點:成熟的解決方案,有很多的成功案例。apache 頂級項目,正在持續快速的進步。龐大而活躍的開發社區,大量的開發人員。它只是一個類庫,有足夠的定制和優化空間:經過簡單定制,就可以滿足絕大部分常見的需求;經過優化,可以支持 10億+ 量級的搜索。
缺點:需要額外的開發工作。所有的擴展,分布式,可靠性等都需要自己實現;非實時,從建索引到可以搜索中間有一個時間延遲,而當前的“近實時”(Lucene Near Real Time search)搜索方案的可擴展性有待進一步完善
3.IndexTank
基於 Lucene 的一系列解決方案,包括 准實時搜索 zoie ,facet 搜索實現 bobo ,機器學習算法 decomposer ,摘要存儲庫 krati ,數據庫模式包裝 sensei 等等
優點:經過驗證的解決方案,支持分布式,可擴展,豐富的功能實現
缺點:與 linkedin 公司的聯系太緊密,可定制性比較差
https://www.oschina.net/news/24262/linkedin-indextank
3.Solr
優點:
-
Solr有一個更大、更成熟的用戶、開發和貢獻者社區。
-
支持添加多種格式的索引,如:HTML、PDF、微軟 Office 系列軟件格式以及 JSON、XML、CSV 等純文本格式。
-
Solr比較成熟、穩定。
-
不考慮建索引的同時進行搜索,速度更快。
缺點:
-
建立索引時,搜索效率下降,實時索引搜索效率不高。
4.Elasticsearch
優點:
-
Elasticsearch是分布式的。不需要其他組件,分發是實時的,被叫做”Push replication”。
-
Elasticsearch 完全支持 Apache Lucene 的接近實時的搜索。
-
處理多租戶(multitenancy)不需要特殊配置,而Solr則需要更多的高級設置。
-
Elasticsearch 采用 Gateway 的概念,使得完備份更加簡單。
-
各節點組成對等的網絡結構,某些節點出現故障時會自動分配其他節點代替其進行工作。
缺點:
-
只有一名開發者(當前Elasticsearch GitHub組織已經不只如此,已經有了相當活躍的維護者)
-
還不夠自動(不適合當前新的Index Warmup API)