当遇到多个值时,我在使用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。
有人可以指出我在这个问题上的正确方向吗?
谢谢;)
答案 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>