我需要索引一些使用命名空间的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顺便说一句。
答案 0 :(得分:0)
你能尝试一下吗? /Kroot/root/meta/source/source/link[@description]