MongoDBをSolrと組み合わせて使う方法を見てきましたが、ここではいくつかの質問には部分的な回答しかありませんが、具体的なものはありません。私のアプリケーションでは、MongoDBにはたくさんの文書が保存されています(おそらく数百万にも上ります)。これらの文書の一部のプロパティで全文検索を実装したいので、Solrが最良の方法ですこの。java - MongoDB + Solr公演
私が知りたいことは、パフォーマンスが良いようにすべてを設定/実行する方法です。今、ここに(と私はその最適ではないと知っている)私は何をすべきかです:MongoDBの中にオブジェクトを挿入するときのプロパティを更新する場合
1-、私はその後、Solrの
にSolrServer server = getServer();
SolrInputDocument document = new SolrInputDocument();
document.addField("id", documentId);
...
server.add(document);
server.commit();
2-それを追加最初のSolrのはただ一つのフィールドを更新することはできませんので、オブジェクト、私はその後、私はSolrのインデックスが対象と新しいものからすべてのプロパティを更新すると、最初に私のクエリを照会する場合
StreamingUpdateSolrServer update = new StreamingUpdateSolrServer(url, 1, 0);
SolrInputDocument document = new SolrInputDocument();
document.addField("id", documentId);
...
update.add(document);
update.commit();
、3-ような何かをするMongoDBからオブジェクトを取得しますSolrを実行してから、文書リストを取得するときSolrDocumentList
は、私は各ドキュメントを通過し、:
- が
、4-すると、そこからプロパティを取得できるようにするには、同じIDを持つにMongoDBからオブジェクトを取得する文書
ここで説明するシナリオのそれぞれについて、より効率的な方法でこれを行う方法に関する提案がありますか? Solrで多数の文書を持ち、一度に1つの文書を追加するときにインデックスを再構築するのに1時間かかることはありません。ここでの私の要件は、ユーザーが一度に1つの文書を追加したい場合があり、すぐに文書を取得できるようにすることです。
各ドキュメントとインデックスを作成する性質がどのくらいあるの?保存
="false"
をインデックス化 –@JustinThomas - それぞれのドキュメントは約10のプロパティを持つことができます。そのうちのいくつかは長い説明です。説明のフルテキスト検索のインデックスを作成したいと思います。それはあなたの質問に答えますか? – Guillaume