15

質問は十分に明確ではなかったと思います。これは、ポイントの質問に直接更新されたものです。

メタ検索エンジンの構築に使用される一般的なアーキテクチャは何ですか?また、そのタイプの検索エンジンを構築するために利用できるライブラリはありますか?

私は、インデックス付きデータが独自の検索エンジン (Autonomy や Google Box など) または公開検索エンジン (Google Web や Yahoo Web など) から取得できる「エンタープライズ」タイプの検索エンジンの構築を検討しています。

4

5 に答える 5

9

Garlic (pdf)を見ると、そのアーキテクチャーが十分に汎用的であり、メタ検索エンジンに適応できることがわかります。

アップデート:

大まかなアーキテクチャ スケッチは次のようなものです。

   +---------------------------+
   |                           |
   |    Meta-Search Engine     |         +---------------+
   |                           |         |               |
   |   +-------------------+   |---------| Configuration |
   |   | Query Processor   |   |         |               |
   |   |                   |   |         +---------------+
   |   +-------------------+   |
   +-------------+-------------+
                 |
      +----------+---------------+
   +--+----------+-------------+ |
   |             |             | |
   |     +-------+-------+     | |
   |     |    Wrapper    |     | |
   |     |               |     | |
   |     +-------+-------+     | |
   |             |             | |
   |             |             | |
   |     +-------+--------+    | |
   |     |                |    | |
   |     | Search Engine  |    | |
   |     |                |    +-+
   |     +----------------+    |
   +---------------------------+

描かれている部品は次のとおりです。

  • メタ検索エンジン - エンジンであり、すべてを調整します。
  • クエリ プロセッサ - エンジンの一部であり、機能を解決し、リクエストを送信し、特定の検索エンジンの結果を集約します (ラッパーを介して)。
  • ラッパー - メタ検索エンジン API を特定の検索エンジンにブリッジします。各ラッパーは、特定の検索エンジンで動作します。外部検索エンジンの機能をメタ検索エンジンに公開し、検索要求を受け入れて応答します。
  • 検索エンジン - 照会する外部検索エンジン。ラッパーを介してメタ検索エンジンに公開されます。
  • 構成 - メタ検索エンジンを構成するデータ。たとえば、どのラッパーを使用するか、さらに多くのラッパーを見つける場所など。ラッパーを構成することもできます。
于 2010-05-19T22:52:44.663 に答える
3

Luceneを見てください。

Apache Lucene は、完全に Java で記述された高性能でフル機能のテキスト検索エンジン ライブラリです。これは、全文検索を必要とするほぼすべてのアプリケーション、特にクロスプラットフォームに適したテクノロジです。

于 2010-05-19T22:21:10.090 に答える
2

あなたが探しているものとは正確には異なりますが、 Compassを確認することをお勧めします。いくつかのアイデアが得られるかもしれません。そしておそらくHibernate Searchも。

更新:明確にするために、Compass は ORM (Hibernate Search でもありません) ではなく、検索指向の API であり、基礎となる検索エンジン (Lucene) を抽象化しようとするため、使用するいくつかの構造を確認することを提案していました: アナライザー、アナライザー フィルター、クエリ パーサーなど。

Lucene の上に構築された Compass は 、Google スタイルの検索など、Lucene の一般的な使用パターンを簡素化します (...)

以下も参照してください。

于 2010-05-19T22:10:56.073 に答える
1

Objective-C を読むことができ、「メタ検索エンジン」のようなものの実際の例を見たい場合は、Google のVermilionフレームワークのソース コードを調べてみてください。OS X 用の非常に人気のあるGoogle クイック検索ボックスユーティリティをサポートするエンジンを使用します (これはQuickSilverによく似ています) 。

このフレームワークは、検索プロセス用のプラグイン バックエンドを追加する機能を提供し、多数のソースからの結果のマージ ソートなどを処理します。どのような種類の連合検索エンジンの設計も同様の設計に従うと思います。

于 2010-05-25T15:04:53.983 に答える
1

このページにはいくつかリストされているようです:

http://java-source.net/open-source/search-engines

クエリ文字列といくつかのオプションを取り、結果のコレクションを返すという点で、API はすべて似ていると思います。ただし、オプションと結果の正確なタイプは異なる可能性が高いため、さまざまなバックエンドへのアクセスを統合するには、ある種のアダプター アプローチ (たとえば) が必要だと思いました。

于 2010-05-18T20:20:58.823 に答える