2017-06-05 46 views
0

當我嘗試將記錄插入字段時,在升級到Solr 6.5後收到此錯誤。Solr:DocValuesField在本文檔中多次出現(Solr 6.5)

全部錯誤:

2017-06-05 02:57:40,685 ERROR 
[org.apache.solr.client.solrj.impl.CloudSolrClient] - Request to collection 
<collection> failed due to (400) 
org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error 
from server at http://<host>:8983/solr/<collection>: Exception 
writing document id <number> to the index; possible analysis error: 
DocValuesField "location_field_0_coordinate" appears 
more than once in this document (only one value is allowed per field) 

字段聲明:

<field name="location_field" type="locations" indexed="true" stored="true" required="false" multiValued="true" /> 

類型聲明(位置):

<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/> 

回答

0

根據文檔,solr.LatLonType不支持多值字段。

它出現在Solr 6.5有一個變化來檢查插入多個值到solr.LatLonType的條件。

Solr 6.3我能夠成功地將多個位置插入solr.LatLonType字段類型。

解決方案: 你應該更換LatLonPointSpatialFieldlocation字段類型,這是在更換到solr.LatLonType下降,支持多值字段。

<fieldType name="location" class="solr.LatLonPointSpatialField" docValues="true"/> 

參見:https://cwiki.apache.org/confluence/display/solr/Spatial+Search