在C ++中用於垂直搜索的分佈式大規模數據引擎。
靈活配置。 SF1R可以高度配置,以支持分佈式或非分佈的搜索引擎。對於亞洲語言,也可以應用各種形式的形態分析儀或專用令牌儀,以適應不同的情況。每個SF1R實例都可以配置為支持多個集合,而收集概念可以與RDBMS中的“表”進行比較。收集可以完全動態地管理,而無需停止服務器實例。
商業證明。 SF1R在具有復雜情況和超高並發狀態的商業環境下得到了充分的證明。為了滿足不同種類的要求,SF1R中支持三種索引,包括基於文件的倒置索引,基於純記憶的倒置索引,具有超高減壓性能和簡潔的自我索引。這是針對具有分佈式和非分佈的垂直領域的搜索雲的實用部署,所有這些都位於基於NGINX的HTTP反向代理後面,以提供統一的條目。
採礦組件可擴展。在SF1R的早期階段,有數十個採礦組件,例如duplicate detection , taxonomy generation , query recommendation , collaborative filtering ,...等。為了使存儲庫盡可能淡,我們進行了一些改進以刪除大多數採礦組件。但是,SF1R的體系結構保證了介紹其中任何一個的靈活性,實際上是索引之一---簡潔的自索引,它是使用採礦組件封裝的,以便便利。
我們還可以在這裡訪問中國文件,同時我們還準備了英語技術報告。
我們最近剛剛切換到SF1R的C++ 11 ,相應地構建SF1R需要GCC 4.8 。由於許多庫之間的參考文獻,我們不建議將Ubuntu用於項目構建。 Centos / redhat / gentoo / coreos是首選平台。您還需要CMake和Boost 1.56來構建存儲庫。在這裡,是依賴的存儲庫列表:
CMAKE :構建所有Izenecloud C ++項目所需的CMAKE模塊。
Izenelib :通用C ++庫。
ICMA :中國形態分析儀庫。
IJMA :日本形態分析儀庫。
ILPLIB :語言處理庫。
IDMLIB :數據挖掘庫。
此外,需要一些第三方存儲庫:
Tokyocabinet :很少使用Tokyocabinet鍵值庫,但是我們有一個統一的訪問方法封裝。
Google Glog :Google提供的記錄庫。
節儉:這是可選的,如果您想讓SF1R能夠連接到Cassandra,則需要節儉,並且我們已經準備了Izenelib的C ++ Cassandra客戶端。
此外,還有兩個額外的項目:
NGINX :SF1R的基於NGINX的反向代理。這是第一個能夠與Zookeeper連接以了解SF1R節點拓撲的項目。
Ruby驅動程序:SF1R的Ruby客戶端,還包含用於測試目的的Web API發件人。
要使用SF1R,您應該在config目錄中具有配置文件。在那之後:
$ cd bin
$ ./CobraProcess -F config請參閱文件以獲取進一步的使用。
SF1R項目由Apache許可證發布,版本2.0:http://www.apache.org/licenses/license-2.0