文档是数组转成的json
原数组:
array( 0 =>3, 1 =>3, 2 =>4, 3 =>5, 4 =>5, 5 =>6)
用array_unique去掉数组中重复的元素后,插入时报错。
原因:
array_unique去重之后,原数组的下标被保留了。数组为
array( 0 =>3, 2 =>4, 3 =>5, 5 =>6 )
在json_encode数组时,会把下标不连续的数组解析成json字符串例如{"0":"3","2":"4","3":"5","5":6}。期望的是{["3","4","5","6"]}。造成这个报错的原因是下标不连续。需重组一下索引,因此在array_unique之后,再执行array_values,将数组的下标重排列。这样,在向solr的update handler 提交时就不会被认为是在做原子更新了。
时间: 2024-08-09 02:21:01