オープン ソースの全文検索エンジンの概要、chatbot および chatgpt プロジェクトに必要なリソース

全文検索エンジンは、インターネット上のさまざまなWebサイトから情報(主にWebページのテキスト)を抽出して構築したデータベースから、ユーザーの検索条件に合致する関連レコードを検索し、一定の順序で結果をユーザーに返します。

1. Apache Lucene Java 全文検索フレームワーク

ライセンス:Apache-2.0 開発言語:Java 公式サイト:https://lucene.apache.org/

Apache Lucene は、完全なクエリ エンジン、インデックス エンジン、および部分テキスト分析エンジンを提供する、完全に Java で記述された高性能でフル機能の全文検索エンジン アーキテクチャです。その目的は、ソフトウェア開発者がターゲット システムで全文検索機能を簡単に実現するためのシンプルで使いやすいツールキットを提供すること、またはこれに基づいて完全な全文検索エンジンを構築することです。

プロジェクトのアドレス: https://www.oschina.net/p/lucene

2. Apache Solr 全文検索サーバー

ライセンス:Apache-2.0 開発言語:Java 公式サイト:https://solr.apache.org/

Apache Solr は Lucene ベースの全文検索サーバーであり、最も人気のあるエンタープライズ レベルの検索エンジンです. その主な機能には、全文検索、ヒットの強調表示、ファセット検索、動的クラスタリング、データベース統合、およびリッチ テキスト (Word など) が含まれます。 、PDF)処理。Solr は非常にスケーラブルで、分散検索とインデックス レプリケーションを提供します。Solr 4 は NoSQL サポートを追加します。

プロジェクトのアドレス: https://www.oschina.net/p/solr

3. Elasticsearch 分散検索エンジン

ライセンス:Apache-2.0 開発言語:Java 公式サイト:https://www.elastic.co/cn/elasticsearch/

Elasticsearch は、分散型の RESTful 検索およびデータ分析エンジンであり、さまざまな新しいユース ケースに対応します。Elastic スタックの中心にある Elasticsearch は、データを一元化し、驚くほど検索し、関連性を微調整し、強力な分析を実行し、簡単にスケーリングできるようにします。

プロジェクトのアドレス: https://www.oschina.net/p/elasticsearch

4. Nutch 検索エンジン

ライセンス:Apache-2.0 開発言語:Java 公式サイト:https://nutch.apache.org/

Nutch は、検索エンジンのオープン ソース Java 実装です。独自の検索エンジンを実行するために必要なすべてのツールを提供します。全文検索と Web クローラーが含まれます。

Nutch の創設者は、Lucene、Hadoop、および Avro オープン ソース プロジェクトの創設者でもある Doug Cutting です。

プロジェクトアドレス: https://www.oschina.net/p/nutch

5. RediSearch 高性能全文検索エンジン

ライセンス: AGPL 開発言語: C/C++ 公式サイト: https://redis.io/docs/stack/search/

RediSearch は、Redis モジュールとして Redis で実行できる高性能の全文検索エンジンであり、RedisLabs チームによって開発されました。Redisクエリ、セカンダリインデックス、全文検索を実現。これらの機能により、テキスト クエリに加えて、複数フィールドのクエリ、集計、正確なフレーズ マッチング、数値フィルタリング、地理的フィルタリング、およびベクトル類似性セマンティック検索が可能になります。

プロジェクトのアドレス: https://www.oschina.net/p/redisearch

6. Sphinx Search 全文検索エンジン

ライセンス: GPL 開発言語: C/C++ 公式サイト: http://sphinxsearch.com/

Sphinx は、パフォーマンス、関連性 (別名検索品質)、および統合のシンプルさを念頭に置いてゼロから設計されたオープン ソースの全文検索サーバーです。C++ で書かれており、Linux (RedHat、Ubuntu など)、Windows、MacOS、Solaris、FreeBSD、およびその他のいくつかで利用できます。

Sphinx を使用すると、SQL データベース、NoSQL ストア、またはファイルに保存されているデータを一括ですばやく簡単にインデックス付けして検索したり、Sphinx を使用して、データベース サーバーを使用するのと同じようにデータをその場でインデックス付けして検索したりできます。さまざまなテキスト処理機能により、特定のアプリケーション要件に合わせて Sphinx を微調整できます。また、多くの関連機能により、検索品質も確実に調整できます。

プロジェクトのアドレス: https://www.oschina.net/p/sphinxsearch

7. ftserver 軽量で正確な全文検索サーバー

開発言語: Java FTServer (FTS) は軽量で正確な全文検索サーバーです. 英語の処理には英語のルールを使用し、中国語の処理には中国語のルールを使用します. 中国語を単語に分割する必要はありません. 中国語の任意の配置をサポートできます.文字と正確に長い中国語の文章を検索します. 古代中国と古代の詩を簡単に処理し、フリーハンドの文章は検索に影響を与えず、シソーラスに依存せず、単語を欠落させることなく中国語を検索します. 必要に応じてカスタマイズするのは非常に簡単で、追加の構成なしでコンパイル後に直接使用でき、さまざまなアプリケーションに組み込むことができます。

プロジェクトのアドレス: https://www.oschina.net/p/ftserver

8. Xapian C++ 検索エンジン

ライセンス: GPL 開発言語: C/C++ 公式サイト: https://xapian.org/

Xapian は C++ で記述された全文検索プログラムであり、その機能は Java の lucene に似ています。lucene は Java の世界ではすでに標準の全文検索プログラムですが、C/C++ の世界には対応するツールがなく、Xapian がこのギャップを埋めます。

Xapian は、開発者が独自のアプリケーションに高度なインデックス作成ツールと検索ツールを簡単に追加できる、適応性の高いツールキットです。いくつかの重みモデル ファミリのサポートが組み込まれており、ブール クエリ演算子の豊富なセットもサポートされています。

プロジェクトのアドレス: https://www.oschina.net/p/xapian

9. Hibernate 検索 Hibernate 検索フレームワーク

ライセンス:LGPL 開発言語:Java 公式サイト:https://hibernate.org/search/

Hibernate Search の機能は、データベース内のデータを取得することです。有名なフルテキスト検索システム Lucene への hibernate の統合スキームです. その機能は、データ テーブル内の巨大なコンテンツを持つ特定のフィールド (テキストとして宣言されたフィールドなど) のフルテキスト インデックスを構築することです。これらのフィールドは hibernate search で全文検索でき、取得後、対応する POJO が取得されるため、巨大なフィールドのあいまい検索 (SQL ステートメントでのマッチングなど) の速度が向上します。

Hibernate Search は、Hibernate ORM エンティティからデータを自動的に抽出して、ローカル Apache Lucene インデックスまたはリモート Elasticsearch インデックスにプッシュします。

プロジェクトのアドレス: https://www.oschina.net/p/hibernate+search

10. Meil​​iSearch 軽量検索エンジン

ライセンス:MIT 開発言語:Rust 公式サイト:https://www.meilisearch.com/

Meilisearch は、Rust に実装された高性能のオープン ソース検索エンジンで、任意の Web サイトやアプリケーションへの簡単な統合をサポートし、セルフホスティングをサポートし、Algolia や Elasticsearch の軽量な代替手段として使用できます。Meilisearch には、次のような多くの便利な機能が組み込まれています。

  • 「インスタント検索」とも呼ばれる、入力するだけの高速検索エクスペリエンス
  • 誤り訂正・冗長検索対応(タイポトレランス)
  • ファセット検索のサポート
  • ロケーションベースの検索 (ジオサーチ) のサポート
  • マルチテナンシーのサポート

Meilisearch は、SDK とライブラリの完全なセットを提供し、開発者が一般的なプログラミング言語や Web ツールに簡単に接続できるようにします。Meilisearch の検索機能はすべての言語をサポートしており、中国語、日本語、ヘブライ語、タイ語、韓国語だけでなく、スペースを使用して単語を区切る言語に合わせて特別に最適化されています。

プロジェクトのアドレス: https://www.oschina.net/p/meilisearch

11. Manticore Search C++ が開発した高性能検索エンジン

ライセンス:GPL-2.0 開発言語:C/C++ 公式サイト:https://manticoresearch.com/

Manticore Search は 2017 年に作成された C++ で開発された高性能検索エンジンで、その前身は Sphinx Search です。Manticore Search は Sphinx を最大限に活用し、その機能を大幅に改善し、何百ものバグを修正し、コードをほぼ完全に書き直して、オープンソースを維持しました! これらすべてにより、Manticore Search は、優れた全文検索機能を備えた最新の高速で軽量なフル機能のデータベースになっています。

MS の公式テストでは、Manticore Search のパフォーマンスが ElasticSearch よりもはるかに優れていることが示されています。

プロジェクトのアドレス: https://www.oschina.net/p/manticoresearch

12. Tantivy 全文検索エンジン ライブラリ

ライセンス: MIT 開発言語: Ruby

Tantivy は、Rust で作成され、Lucene に触発された検索エンジン ライブラリです。Rust 言語の祝福のおかげで、Tantivy のパフォーマンスは Lucene よりもはるかに優れています。

プロジェクトのアドレス: https://www.oschina.net/p/tantivy

13. Tantiny Ruby 全文検索エンジン ライブラリ

ライセンス:MIT 開発言語:Ruby、SHELL、Rust

Tantiny は、Tantivy をベースにした Ruby 用の最小限の全文検索ライブラリです。目の前のタスクで全文検索が必要な場合は便利ですが、完全な分散型検索エンジンを構成するには、タスク自体よりも時間がかかります。

プロジェクトでそのようなエンジンをすでに使用している場合でも (実際にはかなり可能性があります)、Solr や Elasticsearch とは異なり、動作するために何も必要としないため (別のサーバーやプロセス、または何でも)、それは純粋に埋め込み可能です。したがって、選択した検索エンジンを使用するのが面倒/不便である、または追加のセットアップが必要であることに気付いた場合は、いつでも柔軟で高速な迅速で汚いソリューションにフォールバックできます.

Tantiny は、正確には Tantivy への Ruby バインディングではありませんが、それに近づこうとしています。主なアイデアは、Tantivy の逆インデックスへの低レベル アクセスを提供することですが、適切な Ruby スタイルの API、実用的なデフォルト、および追加機能を備えています。

プロジェクトのアドレス: https://www.oschina.net/p/tantiny

14. DataparkSearch 検索エンジン

ライセンス: GPL-2.0 開発言語: C/C++ 公式ウェブサイト: http://www.dataparksearch.org/

DataparkSearch 検索エンジンは、C 言語によるフル機能のオープン ソース Web ベース検索エンジンです。

プロジェクトのアドレス: https://www.oschina.net/p/dataparksearch

15. GoFound Go ベースの全文検索エンジン

ライセンス: Apache-2.0 開発言語: Google Go

GoFound は、バランスの取れた二分木 + 順方向インデックスと逆方向インデックスに基づく、go 言語の全文検索エンジンです。10 億レベルのデータとミリ秒レベルのクエリをサポートできます。使いやすく、http インターフェイスを使用して、任意のシステムを使用できます。技術スタック:

  • 平衡二分探索木
  • 二分探索
  • クイックソート
  • 逆インデックス
  • 前方インデックス
  • ファイルの断片化
  • ゴランジエバ分詞
  • レベルデシベル

プロジェクトのアドレス: https://www.oschina.net/p/gofound

16.コンパス検索エンジン

ライセンス: Apache-2.0 開発言語: Java、Perl 公式サイト: http://www.compass-project.org/

Compass は、Lucene の上に構築されたオープン ソース プロジェクトであり、任意の Java アプリケーションとの検索の統合を簡素化します。Compass は、検索エンジン機能を統合するために設計された幅広い機能を提供します。次の図は、さまざまな Compass モジュールを示しており、その後に各モジュールの簡単な説明が続きます。

プロジェクトのアドレス: https://www.oschina.net/p/compass

おすすめ

転載: blog.csdn.net/SE_JW/article/details/130180206