7

最近、MongoDB と Apache Solr を使い始めました。MongoDB をデータ ストアとして使用しており、アプリケーションの検索機能用にデータのインデックスを Apache Solr で作成したいと考えています。

調査の結果、MongoDB と Solr の間でデータを同期するには、基本的に 2 つの方法があることがわかりました。

1) Solr DataImportHandler を使用 -

このために、james によって作成された SolrMongoImporter を使用し、githubの彼のチュートリアルに従いました。

Import Handler を正常に実行でき、Solr は ImportHandler を識別しましたが、solr にドキュメントをインポートしていませんでした。更新されたドキュメント= 0と表示されるたびに。

2)次に、MongoDB側に切り替えて、そこに何かがあるかどうかを調べてみたところ、 10genが提供するMongoDBConnectorが見つかりました。

指示に従ってコネクタを実行すると、大量のドキュメントを Solr に投稿しようとして、次の出力が得られます。

2012-11-24 15:15:20,665 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds.
2012-11-24 15:15:21,674 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.009 seconds.
2012-11-24 15:15:22,683 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds.
2012-11-24 15:15:23,694 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds.
2012-11-24 15:15:24,702 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds.
2012-11-24 15:15:25,711 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.008 seconds.
2012-11-24 15:15:26,722 - INFO - Finished 'http://localhost:8983/solr/update/?commit=true' (POST) with body '<commit />' in 0.010 seconds.

しかし、Solr にはデータがありません。

皆さんにとってどのアプローチが効果的かを知りたかったのですが、MongoDB と Solr の統合に関する優れたチュートリアルはありますか。

また、MongoDB と solr の間のリアルタイム同期を探しています。つまり、mongodb に製品が追加されるとすぐに、solr インデックスで更新され、検索結果に反映されるようにしたいと考えています。

MongoDB 2.0.4 と Solr 3.6.1 を使用しています。

4

3 に答える 3

2

Hadoopは、SOLRインデックスを作成するためのオプションです。私はこれを直接行ったことはありませんが、etsyなどの人から聞いたことはあります。

lucene革命のこのコースでは、hadoopを使用して一部のSOLRコアのインデックスを更新することについて話しました。残念ながら、コースの資料は公開されていないと思います。

そしてこの講演では、スピーカーはmongo/hadoopのサポートについて話しました。

その他の関連リンク:

于 2012-11-24T16:40:46.023 に答える
1

レプリカ セット モードを設定しましたか? http://docs.mongodb.org/manual/reference/replica-configuration/

最初は、Solr にデータがありませんでしたが、説明したとおりの出力が得られました。その後、レプリケーションモードを設定したところ、oplog ファイルが作成され、mongodbconnector が SOLR と正しく同期されていたようです。私にとっては非常にうまく機能します。

于 2013-05-25T12:28:30.327 に答える
0

mongoConnector の使用を検討してください。http://blog.mongodb.org/post/29127828146/introducing-mongo-connectorをご覧ください

于 2014-02-17T16:16:36.683 に答える