私は SOLR 6.0.0 を使用しており、データ インポート ハンドラを使用して MySQL から SOLR へのインデックス作成を処理しています。
db-data-config.xml ファイルに以下のクエリがあります
<entity name="user" query="SELECT ID, A, B, C FROM `USER` U WHERE U.ID = '${dataimporter.request.id}' OR '' = '${dataimporter.request.id}'">
<field column="A" name="A" ....
.......
</entity>
基本的に、ID を渡すと、その ID のみがインデックス化されます。それ以外の場合は、テーブル全体がインデックス化されます。
今号は、
私は頻繁にインサートを更新しています。
最初の挿入後、単一の id/doc/row のインデックスにリクエストを送信し、数ミリ秒後にレコードが更新されるため、同じ id にインデックスを付けるリクエストを再度送信します。SOLR は 2 番目のリクエストをスキップしているように見えますが、両方のリクエストが行われたことがわかりますが、更新されたデータは SOLR に存在しません。
これは、一意でないアイテムでも発生します (同じ ID ではありません)。同時に 2 つまたは 3 つのデータ インポートを要求すると、solr は 2 番目の要求をスキップまたは無視します。
httpメソッドでリクエストし、以下のクエリを送信し、
http://localhost:8983/solr/user/dataimport?command=full-import&verbose=false&clean=false&commit=true&optimize=false&core=user&id=1