Solrはこれを行うことができます。これを使用すると、クロールするデータソースを定義でき、データを解釈します。 Solrは無料でオープンソースです。
Solrは非常に高速な検索エンジン(Lucene)を備えており、大量のデータをインポートできます。 XML
、 JSON
、 HTML
などの「フィールドのような」データ用に最適化されていますが、テキストを含むすべてのもの(Word、PDFなど)のコンバーターがあります。など)
インデックスを作成するイントラネットサイト(<100.000)がいくつか必要で、データベースにアクセスできる場合は、データインポートハンドラー
を次のように設定する必要があります。
それ以外の場合は、データをサーバーに送信する独自のものをコーディングする必要があります。
これは開発ツールおよび not エンドユーザーのプログラム
。いくつかのインターフェースを作成する必要があります。 (私の経験では、非常に簡単です)
さまざまなフィールド( meta
、 title
、 url 、 content
、 language
、 filetype
...)このフィールドを具体的に検索できます。検索を絞り込むことができます。ダウン。たとえば、イントラネット内のすべてのサイトに作成者がいて、そのフィールドにアクセスしてインデックスを作成できる場合、この作成者からのすべてのドキュメントを検索できますが、彼に関するすべてのドキュメントは無視してください。また、あいまい検索
(「seach」で「search」を見つける)もサポートしています。
あるプロジェクト(および多くの場合、基盤となる検索エンジンLucene)でSolrを使用し、非常に感銘を受けました。 。データ処理エンジンの高い柔軟性は信じられないほどです。検索部分は非常に高速なので、いつかリストに追加して、その仕組みを理解できます:)
必要なのが検索クローラー&検索インターフェースだけである場合、Solrの構成オーバーヘッドは必要なものではない可能性があります。しかし、30.000.000のドキュメントを噛み砕くツールが必要な場合は、これが最適なツールです。私がそれを使用したプロジェクトでは(上記の量のドキュメントで)、Solrの検索時間よりもネットワークの待ち時間に問題がありました。インデックスを複製し、検索要求を他の要求に分散する負荷分散Solrインスタンスを使用できます。そしてそしてそして...このツールのさまざまな最適化の量は驚異的です。もちろん、これには、あまり直感的ではない可能性のある必要な構成が少し含まれています。
上記のように、 Solr
は Lucene
のラッパーです。サイトの作成を行うための CMS
がすでにあるので、利用できる Luceneプラグイン
がすでにある可能性があります。