簡體   English   中英

使用Solr Dataimporthandler索引XML屬性值

[英]Index xml attribute value with Solr Dataimporthandler

我需要索引一些使用命名空間的XML文檔,例如:

<pm:Kroot>
<pm:root>
    <pm:meta>
        <dc:id xmlns:dc="http://purl.org/dc/elements/1.1/">1</dc:id>
        <dc:source>
            <dc:source>
                <pm:link pm:description="Tele" pm:source="8326"/>
            </dc:source>
        </dc:source>
    </pm:meta>
</pm:root>
</pm:Kroot>

現在,當我使用下面的DataImport時,Solr設法獲取ID,但無法為Attributes值建立索引:

<dataConfig>
 <dataSource  type="FileDataSource" encoding="UTF-8" />
 <document>
    <entity name="article"
            url="/sample.xml"
            processor="XPathEntityProcessor"
            stream="true"                               
            forEach="/Kroot/root" >


        <field column="id"              xpath="/Kroot/root/meta/id" />            
        <field column="news_id"    xpath="/Kroot/root/meta/source/source/link/@source" />
        <field column="news_name"  xpath="/Kroot/root/meta/source/source/link/@description" />

   </entity>
 </document>

通過從XML文件中刪除屬性名稱空間,Solr設法索引所有數據! 現在,我正在尋找解決方案,但找不到這種行為的解釋。 Solr Wiki表示,在命名空間的情況下,就像我一樣,我們應該僅使用屬性名稱而不使用命名空間。 我正在使用Solr 4.1 btw。

您可以嘗試例如/Kroot/root/meta/source/source/link[@description]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM