バージョン 4.4.0 で、RAW JSON データを投稿して SOLR インデックスを更新しようとしています。
フィールドの更新は問題ありませんが、多値フィールドの場合、複数の値を保存するのではなく、最後の値のみを保存します。
例えば-
私。これが私のスキーマ構造です-
<dynamicField name="amenity_*" type="text_general" indexed="true" stored="true" multiValued="true"/>
ii. これがPOST jsonデータです-
{"add":{ "doc":{"id":"7986","amenity_GENERAL":{"set":"Overnight Parking"}},"boost":1.0,"overwrite":true,"commitWithin":1000},
"add":{ "doc":{"id":"7986","amenity_GENERAL":{"set":"Pumps"}},"boost":1.0,"overwrite":true,"commitWithin":1000},
"add":{ "doc":{"id":"7986","amenity_GENERAL":{"set":"Parking Spaces"}},"boost":1.0,"overwrite":true,"commitWithin":1000}}
投稿が成功した後、この ID の更新されたインデックスは -
{
"id": "7986",
"amenity_GENERAL": [
"Parking Spaces"
],
"_version_": 1446999052093751300
},
-最後の値を保存します-JSONリクエストからの「amenity_GENERAL」。
その多値フィールドの POST JSON 構造を変更する必要があるかどうかはわかりません。
前もって感謝します。
編集:このスクリプトは CRON に実行されるため、毎回インデックスの更新を行う必要があります。多値フィールドの場合、値の重複を避ける必要があります。