Solr インデックスには何百万ものドキュメントがあります。これらのドキュメントのうち、スキーマを変更したいフィールド A を持つドキュメントは 1,000 個だけです。スキーマの変更には、multiValuedを true から false に変更する、false から true に保存する、typeをテキストから文字列に変更するなど、インデックスの再作成が必要なものが含まれます。数千のドキュメントの再インデックスには数分かかりますが、すべての再インデックスには数日かかります。
Solr wiki の再インデックス作成ページ ( http://wiki.apache.org/solr/HowToReindex ) には、「インデックス作成プロセスを開始する前に、すべてのドキュメントを削除する必要がある場合があります」と記載されていますが、削除しない場合については記載されていません。 .
フィールド A を含む 1,000 個のドキュメントだけを削除して、それらの 1,000 個のドキュメントを再インデックス化できますか? それとも、すべてのドキュメントを再インデックス化する前に、インデックス全体 (すべてのドキュメント) を削除する必要がありますか?
小さなサンプル インデックスで「少数を削除する」シナリオをテストしました。更新とクエリは、変更されたフィールドで期待どおりに機能します。ただし、運が良かったのかどうかはわかりません。すべてを削除していないため、いくつかの問題が潜んでいます。