lucene、sphinx和mg4j各自的優勢和缺點,以及它們的應用範圍

Lucene做爲一個全文檢索引擎,其具備以下突出的優勢: (1)索引文件格式獨立於應用平臺。Lucene定義了一套以8位字節爲基礎的索引文件格式,使得兼容系統或者不一樣平臺的應用可以共享創建的索引文件。 (2)在傳統全文檢索引擎的倒排索引的基礎上,實現了分塊索引,可以針對新的文件創建小文件索引,提高索引速度。而後經過與原有索引的合併,達到優化的目的。 (3)優秀的面向對象的系統架構,使得對於Lucene擴展的學習難度下降,方便擴充新功能。 (4)設計了獨立於語言和文件格式的文本分析接口,索引器經過接受Token流完成索引文件的創立,用戶擴展新的語言和文件格式,只須要實現文本分析的接口。 (5)已經默認實現了一套強大的查詢引擎,用戶無需本身編寫代碼即便系統可得到強大的查詢能力,Lucene的查詢實現中默認實現了布爾操做、模糊查詢、分組查詢等等。 MG4J 是另外一個搜索engine 。與Lucene 主要區別是,它提供了cluster 功能,具備更OO的設計方式。 MG4J可讓你爲大量的文檔集合構建一個被壓縮的全文本索引,經過使內插編碼技術。 Sphinx支持高速創建索引(可達10MB/秒,而Lucene創建索引的速度是1.8MB/秒) 高性能搜索(在2-4 GB的文本上搜索,平均0.1秒內得到結果) 高擴展性(實測最高可對100GB的文本創建索引,單一索引可包含1億條記錄) 支持分佈式檢索 支持基於短語和基於統計的複合結果排序機制 支持任意數量的文件字段(數值屬性或全文檢索屬性) 支持不一樣的搜索模式(「徹底匹配」,「短語匹配」和「任一匹配」) 支持做爲Mysql的存儲引擎
相關文章
相關標籤/搜索