我需要动态索引表中的多个字段。起初它不起作用,将字段名称读取为“_t”。出于好奇,我向实体添加了一个转换器声明。这给了我需要的字段列表。
为什么添加一个从未使用过的变压器可以解决我的问题? 删除变压器声明会导致问题再次出现,我声明哪个变压器并不重要。
我正在运行 Solr 4.1,这个问题首先发生在下载附带的示例 DIH 示例中。我阅读了 Solr 4.0 参考指南,但找不到添加变压器使其工作的原因。
下面是 db-data-config.xml 文件:
<dataConfig>
<dataSource name="foo" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/foo" user="fakeadmin" password="fakepass"/>
<document>
<entity name="products" query="select * from `product`">
<field name="id" column="id" />
<entity name="names" query="select * from names where productId = '${products.id}'" transformer="LogTransformer">
<field name="${names.fieldName}_t" column="fieldValue"/>
</entity>
</entity>
</document>