0

SolrでのDeltaUpdate、Updation、Deletionの違いを理解したい。

デルタクエリ:デルタクエリ中の一意のIDが既存のドキュメントの一意のIDと同じである場合はどうなりますか?デルタクエリを使用して、新しいレコードの更新と挿入の両方を実行できるかどうかを知りたいです。このシナリオで期待される動作は、古いドキュメントを削除し、同じ一意のIDで更新されたドキュメントを再挿入することですか?(私の一意のIDは、DB内のエンティティの主キーで形成されたテンプレートです)。

更新-レコードなしで更新するが、構文でドキュメントIDを言及するだけの場合、更新は削除と同じ一意のIDでの新しい挿入によって発生するため、削除と同等になりますか?

4

1 に答える 1

1

Delta Queryを使用すると、基本的にドキュメントに段階的にインデックスを付けることができます。
最後に成功したビルド時間の後に追加されたドキュメントは、インデックス作成に含まれる唯一のドキュメントです。
ドキュメントIDがすでにインデックスに存在する場合、Solrは更新を実行します。
Solrは実際の更新を実行しませんが、ドキュメントの削除と挿入を実行します
。ドキュメントが存在しない場合は、Solrによる挿入です。

IDだけでドキュメントを更新すると、他のフィールドが上書きされます。
ただし、これはDeleteと同等ではありません。これは、ドキュメントがIDのみでインデックスに存在するためです。
Solrインデックスからドキュメントを完全に削除するには、削除を実行する必要があります。

于 2012-12-08T12:53:18.503 に答える