在将数据导入solr时拆分多值字段

时间:2012-01-23 12:18:55

标签: solr dataimporthandler

当遇到多个值时,我在使用solr 3.4时遇到了一些麻烦。我有这个DIH:

<dataConfig>
    <dataSource type="JdbcDataSource" name="********" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/lokal" user="****" password="******" />
    <document>
        <entity name="Search" transformer="RegexTransformer" query="select b_id, b_navn, b_cats, b_info, b_keyword, b_critical, b_geo, b_adress from searchbiz">
            <field column="b_id" name="b_id" />
            <field column="b_info" name="b_info" />
            <field column="b_cats" name="b_cats" splitBy=","/>
        </entity>
    </document>
</dataConfig>

现在,我的问题是当这个b_cats是索引时我得到了这个结果:

<arr name="b_adress">
  <str>place1, place2</str>
</arr>

但我认为它应该是每个节点上的一个节点。

当我尝试使用此字段时,我会得到&#34; place1,place2&#34; = xx结果,而不是place1 = xx和place2 xx。

有人可以指出我在这个问题上的正确方向吗?

谢谢;)

1 个答案:

答案 0 :(得分:6)

以下是解决方案:

<dataConfig>
<dataSource type="JdbcDataSource" name="********" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/lokal"     user="****" password="******" />
<document>
    <entity name="Search" transformer="RegexTransformer" query="select b_id, b_navn, b_cats, b_info, b_keyword, b_critical,     b_geo, b_adress from searchbiz">
        <field column="b_id" name="b_id" />
        <field column="b_info" name="b_info" />
        <field column="b_cats" splitBy="," sourceColName="b_cats"/>
    </entity>
</document>