从字段中获取逗号分隔值

时间:2013-02-11 13:20:40

标签: xpath solr concatenation

我有这样的xml。

<Root>
    <a1>
     <a>test</a>
     <b>
       <c>1</c>
       <c>2</c>
     </b>
    </a1>

    <a1>
     <a>test2</a>
     <b>
       <c>3</c>
       <c>4</c>
     </b>
    </a1>
</Root>

我将从此xml导入数据到solr。

我正在使用XPathEntityProcessor,我希望连接节点<c>的值。 这将导致“1,2”和“3,4”。

有没有办法实现这个目标?

2 个答案:

答案 0 :(得分:0)

在solr中使用XPath 不可能

此查询适用于任何与XPath 2.0兼容的查询处理器,solr似乎不是:

//b/string-join(c/text(), ",")

答案 1 :(得分:0)

为什么需要连接它们? Solr支持开箱即用的多值字段,您只需要以这种方式声明它们。

但是,如果您确实想要这样做,请使用DIH将它们放入multiValued字段,然后使用自定义/脚本转换器或使用(Solr 4+)update.chain和Update Request Processor连接它们。有one that can concatenate