Hadoop でインデックスを作成し、分散 SOLR に Add() することは可能ですか?ナッチを使うべきですか?..クラウドデラ?
-
26-09-2019 - |
質問
MapReduce フレームワークを使用してインデックスを作成し、それを分散 Solr に追加することはできますか?
大量の情報 (ログファイルとドキュメント) がインターネット経由で転送され、データセンター (または Amazon) に保存されます。これは解析され、インデックスが作成され、最終的には複製された Solr インストールによって検索可能になる必要があります。
私の提案するアーキテクチャは次のとおりです。
- MapReduce フレームワーク (Cloudera、Hadoop、Nutch など) を使用する ドライアドリンク) それらの文書のインデックス作成を準備します。
- これらのドキュメントを Lucene.NET / Lucene (Java) 互換のファイル形式にインデックス付けします。
- そのファイルをすべての Solr インスタンスにデプロイします
- レプリケートされたインデックスをアクティブ化する
上記が可能であれば、MapReduce フレームワークを選択する必要があります。Cloudera はベンダー サポートを受けており、Hadoop のインストールには含まれていないパッチが大量に含まれているため、検討してみる価値はあると思います。
MatpReduce フレームワークを選択したら、ドキュメント (PDF、DOCx、DOC、OLE など) をトークン化し、インデックスを付け、そのインデックスを Solr インスタンスにコピーし、何らかの方法でドキュメントを「アクティブ化」して、ドキュメントが検索できるようにする必要があります。実行中のインスタンス。この方法は、REST インターフェイスを介して Solr にドキュメントを送信するよりも優れていると思います。
私が .NET を取り上げる理由は、私たちが主に .NET ショップであるためです。私たちが使用する唯一の Unix / Java は Solr で、Solrnet 経由で REST インターフェイスを利用するフロントエンドを備えています。
あなたの経験に基づいて、このアーキテクチャはどのように見えますか?問題や問題はありますか?どんなアドバイスをすることができますか?
どうすればいいですか ない ファセット検索を失うにはどうすればよいですか?Nutch のドキュメントを読んだ後、ファセット化は行わないと書かれていたと思いますが、私にはこのソフトウェアの知識が足りず、その内容を理解できない可能性があります。
解決
一般に、あなたが説明したことは、Nutch の仕組みとほぼ同じです。Nutch は、Hadoop コアに基づいたクロール、インデックス作成、インデックス マージ、およびクエリ応答ツールキットです。
Cloudera、Hadoop、Nutch、Lucene を混合しないでください。おそらく、最終的にはすべてを使用することになるでしょう。
- ナッチ は、インデックス作成/応答 (Solr など) 機構の名前です。
- Nutch 自体は、 ハドゥープ クラスター (独自の分散ファイル システムである HDFS を頻繁に使用します)
- ナットの用途 ルシーン インデックスの形式
- Nutch にはクエリ応答フロントエンドが含まれており、これを使用したり、 ソルル フロントエンドを作成し、そこから Lucene インデックスを使用します。
- ついに、 Cloudera Hadoop ディストリビューション (または CDH) は、安定性を高め、開発ブランチからいくつかの便利な機能をバックポートするために、数十のパッチが適用された単なる Hadoop ディストリビューションです。そうですね、使用しない理由がない限り (たとえば、最先端の Hadoop 0.22 トランクが必要な場合)、おそらく使用したくなるでしょう。
一般に、既製のクローリング/検索エンジン ソリューションを検討しているだけの場合は、Nutch が最適です。Nutch には、MS Word ドキュメント、PDF などを含む、さまざまな種類のドキュメントを解析してインデックスを作成するためのプラグインがすでに多数含まれています。
個人的には、ここで .NET テクノロジを使用することにあまり意味はありませんが、慣れている場合は、.NET でフロントエンドを実行できます。ただし、Windows 中心のチームにとって、Unix テクノロジを扱うのはかなりぎこちないものに感じるかもしれません。そのため、私がそのようなプロジェクトを管理していれば、特にクロールとインデックス付けのタスクが限られている場合には、代替案を検討したでしょう。何らかの目的でインターネット全体をクロールしたくない場合)。
他のヒント
あなたはLucandra https://github.com/tjake/Lucandra のカサンドラ・ベースの背面を見てきましたあなたのデータのインデックスとカサンドラストアを移入するためにHadoopを使用することができますLucense / Solrのための終わります。