如何使用DIH或copyfiled或sql cast运算符将2个字符串转换为Solr位置数据字段?

时间:2011-11-14 13:26:04

标签: localization solr dih

我在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"/>

任何简单的解决方案?提前谢谢!

1 个答案:

答案 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"/>