20万アイテムこれらの項目を索引付けすると、索引にバッチで追加されます。Solrインデックスの重複 - 2回以上追加されたアイテム
これらのすべてのアイテムのおよそ5%が2回以上インデックスされているため、重複問題が発生します。
ログを確認すると、実際にこれらの項目が実際に2回(またはそれ以上)追加されていることが実際に分かります。しばしばそれらの間に2〜3分の間隔で、そしてそれらの間に他のアイテムもあります。
インデックス作成をトリガーするWebサーバーは、負荷分散された環境(2つのWebサーバー)にあります。ただし、実際のインデックス作成を行うWebサーバーは単一のWebサーバーです。ここで
はsolrconfig.xmlのconfig要素の一部です:
<indexDefaults>
.....
<mergeFactor>10</mergeFactor>
<ramBufferSizeMB>128</ramBufferSizeMB>
<maxFieldLength>10000</maxFieldLength>
<writeLockTimeout>1000</writeLockTimeout>
<commitLockTimeout>10000</commitLockTimeout>
<mergePolicy class="org.apache.lucene.index.LogByteSizeMergePolicy">
<double name="maxMergeMB">1024.0</double>
</mergePolicy>
<mainIndex>
<useCompoundFile>false</useCompoundFile>
<ramBufferSizeMB>128</ramBufferSizeMB>
<mergeFactor>10</mergeFactor>
私はSolrの1.4.1とTomcat 7.0.16を使用しています。また、私は最新のSolrNETライブラリを使用しています。
この重複の原因にはどのようなものがありますか?すべての入力をありがとう!
ユニークな識別子の問題は、これがすべてだったことです。乾杯! –
私は私のsolr-indexに入れたデータベースから2つのテーブルを得ました。どちらも "id"という名前のユニークなキーを持っています。私の2つのテーブルは、上書きのためにsolrとエントリで一緒にマージされます。これを解決するには? – Rubinum
本当にこれらのレコードを1つの名前空間にマージする必要がありますか?レコードが異なるエンティティを表す場合は、2つの別個のコアを使用することを検討する必要があります。それ以外の場合は、idをテーブルの前に付けてidをテーブル間でユニークにすることです。 – Umar