2

バージョン 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 に実行されるため、毎回インデックスの更新を行う必要があります。多値フィールドの場合、値の重複を避ける必要があります。

4

1 に答える 1