2

商用アプリケーションの 1 つ (Delphi で作成された Win32) で、全文検索を実装したいと考えています。アプリケーションは、テキストとして直接認識できない何らかの種類のバイナリ形式でユーザー データを格納しています。

理想的には、インプロセス ソリューション (DLL で問題ありません) または TCP 経由でアクセスできるローカル サーバー (できれば) を見つけたいと考えています。この API を使用すると、サーバーにテキスト情報を (その元のバイナリ BLOB を表すメタデータと共に) 送信できる必要があり、もちろん、少なくとも論理演算子のサポートを最小限に抑えて全文検索を実行できる必要があります。および部分文字列検索。Unicode サポートが必要です。

スタック オーバーフロー ( What are some Search Servers out there? )で検索エンジンの広範なリストを見つけましたが、どのエンジンが自分のニーズを満たすことができるのかよくわかりません。それぞれのテストに 1 日か 2 日を費やす前に、The Collective に意見を求めることを考えました。

助言がありますか?

4

7 に答える 7

1

市場には多くのオプションがあります。本格的な商用製品またはオープン ソースのバリアントのいずれかです。検索プロバイダーの選択は、ターゲットとする顧客に大きく依存します。

Microsoft には、無料の Express バージョンの Search Server があります。私の知る限り、Express エディションはアプリケーション層を 1 つのサーバーで実行することに限定されています。

オープンソースのApache Luceneプロジェクトもあります。使いやすい優れた API と、大規模なユーザー コミュニティがあります。元のプロジェクトは Java に基づいていますが、個人的に使用したNLucene for .NETなどの他の実装もあります。

于 2008-09-17T15:37:46.110 に答える
0

SQLiteをご覧になることをお勧めします。最新バージョンには全文検索が含まれています。

于 2008-09-17T15:27:38.253 に答える
0

答えはあなたのデータベースに依存すると思います。たとえば、SQL Server には全文検索機能があり、必要に応じて英語のクエリも利用できます。

于 2008-09-17T15:30:31.320 に答える
0

PostgreSQL と tsearch の使い方を見てみましょう。

于 2008-09-17T15:35:01.513 に答える
0

tsearch で postgresql を使用してみてください

于 2008-09-17T15:35:30.840 に答える
0

Sphinxはおそらく最も効率的でスケーラブルなオプションですが、 SQLite - FTS3は最も簡単なオプションです。

于 2008-09-17T16:26:25.023 に答える
0

インプロセスではありませんが、Solrは非常に高速 (Lucene ベース) で、任意のプラットフォーム (HTTP) から簡単にアクセスできます。

于 2008-09-29T16:14:52.530 に答える