私はSolrとそのドキュメントのバックアップを保持するデータベースにリアルタイムの "ポンプ"挿入(および更新)ドキュメントの2つのソースからSolrインデックスデータを作成しています。Solr Update Handlerを修正して既存のドキュメントを上書きしないようにするにはどうすればよいですか?
私たちが遭遇した問題は、ポンプが挿入を実行している間にデータベースからデータをインポートすると、ポンプからドキュメントを索引付けし、データベースから抽出したdocで後で上書きすることができます。それはおそらく時代遅れです。
ポンプを閉じてデータベースからインポートしてポンプを再び開くと、アプリケーションに不安定さが生じる可能性があります。
私がしたいのは、自動的にドキュメントを上書きしないようにすることですが、条件付きで(例えば 'last_modified_date'フィールドの値によって)行うようにします。
私の質問は - どうすればいいですか? Solrソースを変更したり、新しいクラスをいくつかのアップデートプロセッサに上書きさせたり、solrconfigにいくつかのマジックラインを追加する必要がありますか?
を使用する場合、実際に私が今やったことは、カスタムの書き込みで動作しますそのに従ってコードの下
に進み、存在しているかどうかを確認するためにSolrのスクリプト・プロセッサを使用することができますUpdateProcessor私のプロセッサでプロセッサチェーンを使用しているjavabinベースのハンドラ)を使用して、特定のIDを持つドキュメントをSolrで検索し、日付をチェックする - チェックが可能であれば、要求をチェーンに送ります。正常に動作するように見えますが、Solrで既存のドキュメントをリモートから検索する手順を記述しなければならず、このソリューションのコスト効率に疑問があります。 – r3mbol