我在schema.xml
中有以下内容:
<field name="x_geo_x_coordinate" type="double" indexed="true" stored="true" default="0"/>
<field name="x_geo_y_coordinate" type="double" indexed="true" stored="true" default="0"/>
<field name="x_geo" type="location" indexed="true" stored="true" default="0.0,0.0"/>
我设法从数据库导入lat,只要字符串:
<field name="x_geo_x_str_coordinate_s" type="string" indexed="true" stored="true" default="0"/>
<field name="x_geo_y_str_coordinate_s" type="string" indexed="true" stored="true" default="0"/>
<field name="x_geo_str" type="string" indexed="true" stored="true" multiValued="true" default="0,0"/>
如何使用简单的解决方案将2个stings复制/转换为double?
更新1: 好吧,从字符串到双精度的转换已经完成了工作,并且非常感谢解决方案!我现在拥有的是两个双重场地:
<field name="x_geo_x_coordinate" type="double" indexed="true" stored="true" default="0"/>
<field name="x_geo_y_coordinate" type="double" indexed="true" stored="true" default="0"/>
和我想要的:一个位置字段中的2个double值:
<field name="x_geo" type="location" indexed="true" stored="true" default="0.0,0.0"/>
到目前为止我尝试了什么并且不起作用:
<copyField source="*_coordinate" dest="x_geo"/>
<copyField source="x_geo_str" dest="x_geo"/>
任何简单的解决方案?提前谢谢!
答案 0 :(得分:0)
您可以在schema.xml文件中使用copyField:
<copyField source="x_geo_x_str" dest="x_geo_x_coordinate"/>
<copyField source="x_geo_y_str" dest="x_geo_y_coordinate"/>
<copyField source="x_geo_str" dest="x_geo"/>