國際上這類開源軟件很多,工程界以Lucene為代表,學術界以Lemur為代表。Lucene雖然功能強大,但是性能偏低,處理的數據上不了規模;Lemur主要用於信息檢索相關的實驗,雖能處理Tb級別數據,但是性能也較差,而且不太適合工程中使用。這兩個開源軟件都可以支持中文但是支持得不夠好。雖然Lemur的作者很多都是中國人,但Lemur並非中國所有。和Lucene和Lemur相比,FirteX具有更高的性能,天然支持中文,使用方便,擴展靈活,自主研發,是國內信息檢索領域的第一個開源平台。
下面是FirteX的部分特性列表,更多信息可以登錄 http://www.firtex.org 。
FirteX的主要特征如下:
開放式架構:
FirteX采用面向對象的C++語言實現,系統各個組成部分高度模塊化,不僅是一個檢索系統,同時也是一個全文索引和檢索框架;多個組件基於插件設計,不僅可以采用C/C++對系統進行擴展,也可以通過內置的跨平台COM庫設計COM組件來擴展系統。
功能:
支持增量索引,差量索引,多字段索引,提供了3種前向索引方式;支持純文本,HTML,PDF等文件格式;提供快速中文分詞;從底層到高層,提供了多種索引訪問接口,靈活自由地使用索引文件;提供豐富的檢索語法,支持多字段檢索,日期范圍檢索,檢索結果自定義排序等。
性能:
在Pentium 4 2.8G 2GRAM的機器上超過200Mb每分鐘的索引速度,在近7G的索引文件(100G網頁,11G純文本的索引)上檢索,能在數毫秒內返回查詢結果;支持Tb數量級的文本索引和檢索;
易用性:
對於簡單使用者:直接提供了文本文件,HTML,PDF等文件格式解析器,提供了快速中文分詞,提供了文件目錄,文件列表,TREC及FirteX格式文檔集的直接支持,內置的組件能在大多數情況下滿足使用者的要求;系統采用類似於XML格式的配置文件配置系統,可配置內容包括索引內存使用量,索引文件數目、大小控制,索引合並控制,數據集元數據定義及其索引存儲方案定義等,可以根據數據集和機器配置情況,靈活配
置整個系統,無需編寫代碼。
對於研究人員:FirteX提供了TREC文檔集解析器,可以直接對TREC數據建立索引和檢索;提供了3種前向索引方式,可以直接用來做文本分類、聚類,摘要等 實驗;直接提供了中文快速分詞,處理中文數據無需編寫額外代碼;對於索引文件,提供了多種訪問方式,包括索引檢索,倒排文檔數據直接訪問等,可以用來做FirteX不支持的一些實驗。
對於開發者:系統采用面向對象的軟件設計方法設計,各個組成部分耦合性低,從應用層模塊到系統核心層模塊,均可單獨修改、升級或替換;擴展既可以在源代碼上直接進行,也可以使用非C/C++語言通過COM組件擴展。通過FirteX可以快速搭建桌面搜索,站內搜索,行業搜索,公眾搜索引擎等應用。