在Solr中从一个db列映射到多个字段

时间:2014-02-27 07:52:07

标签: solr lucene dataimporthandler

我想从MySQL数据库中的一列映射到Solr中的多列。假设我的db表是Car,这是我的data-config.xml文件:

<dataConfig>
  <document name="car">
    <entity name="car" query="select * from cars" transformer="TemplateTransformer">
      <field column="id" name="id" template="Car ${car.id}"/>
      <field column="id" name="id_ss" />
    </entity>
  </document>
</dataConfig>

在Solr架构中,我有2个字段,格式如下:

id: with format "Car {id from db}"
id_ss: with format "{id from db}"

但是在我使用了tempate变换器之后,我的数据是这样的索引(即使我没有在id_ss字段上使用模板转换器):

id: "Car {id from db}"
id_ss: "Car {id from db}"

如何让它按我的意愿运作?

1 个答案:

答案 0 :(得分:0)

这样做:

<entity name="car" query="select id as id_ss, concat('Car ', id) as id from cars">
  <field column="id" name="id" template="Car ${car.id}"/>
  <field column="id_ss" name="id_ss" />