Solr的 - DataImportHandler:当试图使用列值的字段名,多值字段只保留第一个结

2019-09-22 10:10发布

我试图用文档的配置类似于以下执行全进口:

<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>


比方说,从child_table为parent.ID = 1个这个样子的字段/值的结果:

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

Answer 1:

这是DataImportHandler一个错误,它是固定的(尚未公布)的Solr 4.1。 看你在这开了JIRA问题 。



文章来源: Solr - DataImportHandler: When attempting to use column values as field names, multivalued fields only retain the first result