2012-12-21 140 views
4

我正在努力尋找一個建立語言語料庫搜索引擎的好圖書館。這樣的引擎必須產生絕對透明的搜索結果(即使整個語料庫匹配,確切的搜索匹配數,沒有結果裁剪),基本查詢語法(AND,OR,NOT運算符,距離搜索,通配符搜索)設置爲搜索的文檔(即,設置子循環)。 一個重要的細節是索引分割和並行執行搜索的能力(語料庫的大小爲10^8個字的順序,並且搜索服務必須是實時的)。語言語料庫的搜索引擎

主要的選擇是在Sphinx和Clucene之間(一個C++ Lucene端口)。不幸的是,我對這些圖書館組織不太瞭解,因此瞭解哪一個更適合我的需求會非常有幫助。 (我也試過了一個專門的引擎 - IMS Corpus Workbench - 事實證明它不像所需的那樣是可縮放的)。

+0

具有CPQWeb接口的IMS Corpus Workbench比較麻煩。可能你可以試試UPlug http://sourceforge.net/projects/uplug/ – alvas

+0

看起來你想要一個C++解決方案。否則,我會建議您嘗試Solr或ElasticSearch(都是java,並且都很棒!) – Renaud

回答

1

我建議設置SOLR服務器,這是一個Lucene衍生物,並有一個Restful接口。 Lucene的新特性(SOLR)在其他同行中是無與倫比的。一個10^8個不同單詞的語料庫,可能是一個問題,但我希望它們不是很明顯。根據我的猜測,最高可能會導致性能損失。在裸露的Lucene上提供分區和並行搜索將是一個殘缺的工作。 SOLR提供了這兩個功能。 我不太瞭解獅身人面像。但到目前爲止,Lucene及其衍生產品正處於最前沿。