0

文字列 (会社名) を識別し、これらの文字列を Solr での検索とファセットに使用する検索ソリューションを検討しています。

私は Nutch と Solr を初めて使用するので、Nutch と Solr のどちらで行うのが最適なのだろうかと思います。解決策の 1 つは、問題の文字列を識別するパーサーを Nutch で生成し、会社名にインデックスを付け、後で Solr 値にマッピングすることです。方法はわかりませんが、これはSolr内でテキストから直接行うこともできると思いますか?

この文字列識別を Nutch または Solr で行うことは理にかなっていますか? Solr または Nutch には、ここで役立つ機能がありますか?

ありがとう。

4

2 に答える 2

3

NER ライブラリ (opennlp、lingpipe、gate を参照) をカスタム パーサーに埋め込み、新しいフィールドを生成し、それに応じて indexingfilter を作成することができます。これは特に難しいことではなく、SOLR 側でこれを行う場合と比較した場合の利点は、mapreduce のスケーラビリティーから得られることです (NLP タスクは多くの場合、CPU を大量に消費します)。GATE を mapreduce に埋め込む方法の例については、Behemothを参照してください。

于 2010-08-27T11:06:45.433 に答える
1

Nutch は、Solr HTTP API を介してクロールされたデータを Solr にインデックス付けすることにより、Solr と連携します。solrindex コマンドを呼び出して、インデックス作成をトリガーします。設定方法の詳細については、このページを参照してください。

会社名を抽出できるようにするには、必要なコードを Solr に追加します。UpdateRequestProcessorを使用します。インデックス作成プロセスに追加のステップを追加して、インデックス作成中のドキュメントに追加のフィールドを追加できます。UpdateRequestProcessor は、Nutch によって Solr に送信されたドキュメントを調べ、テキストから会社名を抽出し、ドキュメントの新しいフィールドとして追加するために使用されます。Solr は、ドキュメント + 追加したフィールドのインデックスを作成します。

于 2010-08-18T13:42:52.840 に答える