C ++での垂直検索のための分散大規模なデータエンジン。
柔軟な構成。 SF1Rは、分布または分散していない検索エンジンのいずれかをサポートするために高度に構成できます。アジア言語の場合、さまざまな種類の形態分析装置または専用のトークン剤を適用して、さまざまな状況に適合させることもできます。各SF1Rインスタンスは、複数のコレクションをサポートするように構成できますが、コレクションの概念はRDBMSの「テーブル」と比較できます。コレクションは、サーバーインスタンスを停止せずに完全に動的に管理できます。
商業的に証明されました。 SF1Rは、複雑な状況と非常に高い並行性の両方を備えた商業環境で完全に証明されています。さまざまな種類の要件を満たすために、SF1R内で3種類のインデックスがサポートされています。これには、ファイルベースの逆インデックス、超高減圧性パフォーマンスを備えた純粋なメモリベースの反転インデックス、および簡潔なセルフインデックスなどがあります。これは、分散型と非分散垂直の両方を備えた検索クラウドの実用的な展開であり、それらはすべて、統一エントリを提供するための単一のNginxベースのHTTP逆プロキシの背後にあります。
マイニングコンポーネントは拡張可能です。 SF1Rの初期段階では、 duplicate detection 、 taxonomy generation 、 query recommendation 、 collaborative filtering 、...など、数十のマイニングコンポーネントが添付されています。リポジトリを可能な限りライトに保つために、ほとんどのマイニングコンポーネントを削除するためにいくつかの改良を加えました。ただし、SF1Rのアーキテクチャは、それらのいずれかを導入する柔軟性を保証しています。実際、インデックスの1つ---簡潔なセルフインデックスの1つであるため、便利なマイニングコンポーネントを使用してカプセル化されました。
中国の文書にはここからアクセスできますが、英語の技術レポートも準備しています。
最近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が提供するロギングライブラリ。
Thrift :これはオプションです。SF1RがCassandraに接続できる場合は、Thriftが必要であり、IzenelibでC ++ Cassandraクライアントを準備しました。
さらに、2つの追加プロジェクトがあります。
NGINX :SF1RのNGINXベースの逆プロキシ。これは、Zookeeperとつながり、SF1Rのノードトポロジを認識できるようにする最初のNginxプロジェクトです。
Ruby Driver :SF1RのRubyクライアントは、テスト目的のためのWeb API送信者も含まれています。
SF1Rを使用するには、 configディレクトリに構成ファイルがあるはずです。その後:
$ cd bin
$ ./CobraProcess -F configさらに使用するためにドキュメントをご覧ください。
SF1Rプロジェクトは、Apacheライセンスのバージョン2.0:http://www.apache.org/licenses/license-2.0で公開されています。