2
我試圖通過發佈RAW JSON數據來更新SOLR索引,版本4.4.0。更新多值字段,沒有獲取SOLR索引中的多個值
它的更新字段很好,但在多值字段的情況下,它不存儲多個值,但只存儲最後一個值。
對於e.g-
我。這裏是我的模式結構 -
<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,所以每次需要做索引的更新。在多值字段的情況下,需要避免重複值。
感謝您的回覆。是的,使用'add',而不是'set',但是我的腳本會在一段時間後在CRON中運行。我想每次都要全面更換。做一個'添加',只會繼續添加相同的值到數組中。任何建議?在此先感謝 –
不能使用'set'作爲第一次更新清空值,然後使用'添加'爲新條目? – arun
「設置」爲null添加空字符串。因此,對第一個條目進行「設置」,然後「添加」其他條目。但只是想知道是否有任何其他 更簡單的方法。 BTW,thnx –