Solr - DataImportHandler:尝试将列值用作字段名称时,多值字段仅保留第一个结果

时间:2012-09-13 17:55:44

标签: database solr import dataimporthandler multivalue

我正在尝试使用类似于以下内容的文档配置执行完全导入:

<document>
    <entity name="parent" query="select * from parent_table" >
        <field name="id" column="ID" />
        <entity name="child" query="select * from child_table where PARENT_ID = ${parent.ID}" transformer="ClobTransformer" >
            <field name="${child.FIELD_COLUMN}" column="VALUE_COLUMN" clob="true" />
        </entity>
    </entity>
</document>


假设parent.ID = 1的child_table的字段/值结果如下所示:

FIELD_COLUMN   VALUE_COLUMN
fieldA         value1
fieldB         value2
fieldB         value3

fieldA和fieldB的架构配置(注意fieldB是多值的):

<field name="fieldA" type="string" indexed="true" stored="true" multiValued="false"/>
<field name="fieldB" type="string" indexed="true" stored="true" multiValued="true" /> 

运行完全导入后,父1的文档如下所示:

{"id":1,
"fieldA":"value1",
"fieldB":["value2"]}

但是,我需要(并且期待)它看起来像这样(fieldB应该有多个值):

{"id":1,
"fieldA":"value1",
"fieldB":["value2","value3"]}


任何帮助将不胜感激!!谢谢!

Solr版本:4.0.0.2012.08.06.22.50.47

1 个答案:

答案 0 :(得分:4)

这是DataImportHandler中的一个错误,修复了(尚未发布)Solr 4.1。 See the JIRA issue you opened on this