如何在SOLR 5.X中拥有动态位置字段?

时间:2015-09-02 11:08:49

标签: solr geolocation schema geospatial

尝试以下方法:

<dynamicField name="Meta_p_*"    type="location"      indexed="true"  stored="true"/>
   <dynamicField name="Meta_p_*_0_coordinate" type="double" indexed="true" stored="true" />
   <dynamicField name="Meta_p_*_1_coordinate" type="double" indexed="true" stored="true" />

获得Solr Excpetion

 Caused by: Dynamic field name 'Meta_p_*_0_coordinate' should have either a leading or a trailing asterisk, and no others.

尝试:

 <dynamicField name="Meta_p_*"    type="location"      indexed="true"  stored="true"/>
   <Field name="Meta_p_*_0_coordinate" type="double" indexed="true" stored="true" />
   <Field name="Meta_p_*_1_coordinate" type="double" indexed="true" stored="true" />

让自己空洞但是当试图插入新文件时:

 Error adding field 'Meta_p_mylocation'='45.17614,-93.87341' msg=LatLonType uses multiple fields.

准则 - 有没有办法在Solr 5.X中添加动态字段?

1 个答案:

答案 0 :(得分:0)

动态字段&#34; Meta_p _ * _ 0_coordinate&#34;是双重类型。

它只会存储像45.17614这样的双倍值。

Solr给出了一个例外,因为你试图存储一些字符串(&#39; 45.17614,-93.87341&#39;)值。

我认为solr在动态字段中不支持LatLon类型字段。

如果要使用solr的空间搜索功能,则需要定义solr.LatLonType类型的字段(非动态)

请参阅:https://wiki.apache.org/solr/SpatialSearch