0

次のような、名前空間を利用するいくつかの 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 を取得できますが、属性値のインデックス作成に失敗します。

<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を使用しています。

4

1 に答える 1

0

試してみませんか/Kroot/root/meta/source/source/link[@description]

于 2013-02-01T04:41:43.673 に答える