| アプリケーション - インストール - 開発 - ドキュメント - ディープ ラーニング - FAQ - TIPS - EA 30 分 - 技術トピック |
kumo search
、全文検索、転置インデックス、前方インデックス、並べ替え、キャッシュ、インデックス階層化、介入システム、特徴収集、オフライン コンピューティング、ストレージ システムおよびその他の機能をサポートするエンドツーエンドの検索エンジン フレームワークです。 kumo search
EA
(Elastic Automic Infrastructure Architecture) プラットフォーム上で実行され、複数のコンピュータ ルームおよび複数のクラスタでの工程自动化
、服务治理
、实时数据
、服务降级与容灾
などの機能をサポートします。
インターネットの発展により、インターネット全体を検索することだけが情報を入手する唯一の方法ではなくなりました。電子商取引、ソーシャル ネットワーキング、ニュースなどの多くの垂直情報サービスには、独自の検索エンジンがあります。 これらの検索エンジンの特徴は、中程度のデータ量、複雑なビジネス、および高いユーザー エクスペリエンス要件です。これらの検索エンジンの開発には、多くのエンジニアリングとアルゴリズムのサポートが必要です。 kumo search
ユーザーが独自の検索エンジンを迅速に構築できるように、すぐに使える検索エンジン フレームワークを提供することを目的としています。このフレームワークでは、ユーザーはプロジェクト内の AOT コンパイラーを通じてpython
でビジネス ロジックを作成でき、フレームワークはc++
コードとバイナリ動的ライブラリを自動的に生成し、検索エンジンに動的に更新されます。これにより、検索エンジンの迅速な反復が可能になります。
シリアルナンバー | プロジェクト名 | 説明する | 説明する |
---|---|---|---|
1 | コリー | jason、tomlなどの外部ヘッダーのみのライブラリを参照して一元管理します | |
2 | ターボ | ハッシュ、ログ、コンテナクラス、文字列関連の操作 | |
3 | メロン | RPC通信 | |
4 | アルカイド | ファイル システムのカプセル化、ローカル ファイル、hdfs、s3 など。 | ファイルシステム統合API、zlib、lz4、zst統合API |
5 | ミザール | Rocksdb、toplingdb ストレージ エンジン コアに基づく | wisekey 関数はまだ開発されていません。当面は、rocksdb の正式版が使用されます。 |
6 | アリオット・ユヘン | テーブルメモリ | 開発中 |
7 | メグレスティアンクアン | データセットの読み取りと書き込み | hdf5 cvs bin が完成し、高度な C++ API がカプセル化される予定です |
8 | ペクダ | 統合ベクトル エンジンは API UnifiedIndex にアクセスしてインターフェイスを簡素化します | スナップショット、フィルタープラグインをサポート |
9 | メラクティアンシュアン | 包括的な検索エンジンのコア | 開発予定 |
10 | ドゥベ・ティエンシュウ | NLP カーネル | 開発予定 |
11 | フレア | GPU、CPU高次元テンソル計算など | |
12 | テイア | opengl グラフィックスと画像表示に基づいて、サーバーは利用できません (表示デバイスがありません)。 | |
13 | ドワーフ | ジュピタープロトコルC++カーネル | |
14 | 出エジプト | Hercules と他の Jupyter アプリケーション | 仕上げる |
15 | ヘラクレス | Python aotコンパイラ | |
16 | カービン | C++ パッケージマネージャー、cmake ジェネレーター | 仕上げる |
17 | カービンテンプレート | cmake テンプレート ライブラリ | 仕上げる |
18 | カービンレシピ | Carbin のレシピはライブラリのカスタム構成に依存します | 仕上げる |
18 | ハダル | 検索提案サービスカーネルを提案する | ほぼ完成しているが、商用利用可能なオープンソースではない |
19 | ネプチューン | EAフロントエンドサービス | 開発中 |
シリアルナンバー | プロジェクト名 | 説明する | スケジュール |
---|---|---|---|
1 | シリウス | EA メタデータ サーバー サービス ディスカバリ、グローバル クロック サービス、グローバル コンフィギュレーション サービス、グローバル ID サービス | 仕上げる |
2 | ポラリス | ベクター エンジン スタンドアロン サービス | 仕上げる |
3 | エルナス | 包括的な検索および引用のスタンドアロン サービス | 開発中 |
4 | ベガ | Vector Engine データベース クラスター エディション | 完全な商用利用は可能ですが、オープンソースではありません |
5 | アルクトゥルス | 包括的な検索エンジン クラスター バージョン | 開発中、商業利用向けのオープンソースではない |
6 | ポルックス | 統合エンジンビジネスコンソール | 開発中、商業利用向けのオープンソースではない |
7 | アカペラ | LTR仕分けサービス | 開発中、商業利用向けのオープンソースではない |
8 | アルデバラン | 検索提案サービスクラスターの提案 | 開発中、商業利用向けのオープンソースではない |
9 | ヌンキ | NLPサービス | 開発中、商業利用向けのオープンソースではない |
この 30 分シリーズでは、 EA
インフラストラクチャに基づいてエンタープライズ レベルのアプリケーション サービスを迅速に構築することに重点を置き、実際の運用、クイック スタート、迅速な開発、迅速な展開、迅速な反復に焦点を当てています。
**このトピックでは、主に検索エンジンの基礎知識、検索技術と検索ビジネスの発展に伴う検索アーキテクチャの進化、アップグレード、設計、その背後にある技術原則と実装について紹介します。 **
EA
サーバー側アプリケーションのインフラストラクチャです。EA EA
現在centos
およびubuntu
オペレーティング システムをサポートしており、 mac
mac
をサポートできるよう最善を尽くします。ただし、コンパイルと IDE 開発を容易にするために、互換性を保つために後続のいくつかの機能が試行される可能性があります。基本的な環境の展開については、「インストールと使用」を参照してください。
EA
システムのcicd
、carbin ツールを使用して管理されます。 carbin
、 c++
パッケージ マネージャー、 cmake
ジェネレーター、 cicd
ツールです。 carbin
サードパーティの依存ライブラリをダウンロードし、 cmake
ビルド システムを生成し、プロジェクトをコンパイルしてデプロイできます。 carbin
Carbin のドキュメントを参照してください。
カービン | コンダ | cmake | CPM | コナン | ベゼル | |
---|---|---|---|---|---|---|
使用法の複雑さ | 簡単 | 真ん中 | 難しい | 真ん中 | 難しい | 難しい |
インストールの難易度 | 簡単にピップ | バイナリ簡単 | NA 簡単 | cmake | 簡単にピップ | バイナリハード |
依存関係のパターン | ソース/バイナリ | バイナリ | ソース | ソース | ソース/バイナリ | ソース |
依存関係ツリー | サポート | サポート | サポート | サポート | サポート | サポート |
ローカルソースコード | サポート | NA | サポート | サポート | NA | サポート |
互換性 | 良い | 真ん中 | 良い | 良い | 良い | 貧しい |
スピード | 良い | 真ん中 | 貧しい | 貧しい | 良い | 貧しい |
conda は優れた管理ツールですが、コンパイルの依存関係が比較的複雑で、コンパイル オプションによって問題が発生することが多く、C++ プロジェクトのコンパイルには適していないため、私は conda を選択しませんでした。 cmake に付属の管理ツールは、大規模なプロジェクトの管理には適していません。プロジェクトを再コンパイルするたびに、依存ライブラリが再ダウンロードされ、コンパイル時間が長すぎる可能性があります。同様に、CPM は C++ パッケージ マネージャーです。家庭内のネットワーク環境では、依存ライブラリのダウンロードが遅く、大規模なプロジェクトの管理には適していません。 conan は C++ パッケージ マネージャーですが、conan の依存ライブラリのダウンロード速度が遅く、大規模なプロジェクトの管理には適していません。
同時に、Carbin は C++ プロジェクトの管理にも非常に適しています。Carbin は C++ プロジェクト管理 cmake システムを迅速に生成し、プロジェクトのコンパイル プロセス、オプション構成、コンパイル後のインストールとエクスポートの変数ルールを統合しEA
。固定ルールfind_package
これは、 cmake
ベースのプロジェクトでの使用にも適しています。
docker に基づいて開発する場合、 EA
ea inf コンテナの基本的な開発を提供します。
centos7-openssl11-python-310-gcc-9.3:
lijippy/ea_inf:c7_base_v1