使用XPathEntityProcessor将xml文件索引到solr中 - 无法索引某些标记

时间:2013-10-12 12:25:13

标签: xml xpath solr dataimporthandler

使用XPathEntityProcessor,我正在索引xml文件(仅作为示例):

<shop>
 <vegitable>
 ....
 </vegitable>
 <fruit>
      <property>
        <kind>apple</kind>
        <value>3.08</value>
        <from>USA</from>
      </property>
      <property>
        <kind>banana</kind>
        <value>8.5</value>
        <from>CA</from>
      </property>  
      <property>
        <kind>painaple</kind>
        <value>102.8</value>
        <from>CA</from>
      </property>
 </fruit>
 ....
 ....
 ....
 </shop>

我希望将apple属性存储在一个字段中,将所有其他属性存储到另一个字段中,以便我可以将其用于查看目的。 Bellow是我的solr-config.xml文件,但是solr不会处理这两个字段。

<dataConfig>
        <dataSource type="FileDataSource" encoding="UTF-8" />
        <document>
        <entity name="drug"
                processor="XPathEntityProcessor"
                stream="true"
                forEach="/shop/"
                url="/data/shop.xml"
                transformer="RegexTransformer,DateFormatTransformer"
                >
                ....
                ....
            <field column="apple-imported-form" xpath="/shop/fruit/property/[kind='apple']/from"/>
            <field column="apple-imported-value" xpath="/shop/fruit/property/[kind='apple']/value"/>
        </entity>
       </document>
</dataConfig>

在solr上阅读XPathEntityProcessor上的文档时,我发现了以下几行:

  

XPathEntityProcessor实现了支持的流解析器   xpath语法的子集。不支持完整的xpath语法   涵盖了大多数常见用例。

但是没有提到Xpath中没有涵盖的内容。请指导我。

提前致谢!!

0 个答案:

没有答案