【发布时间】:2012-04-30 09:25:40
【问题描述】:
我是 Solr 的新手,我正在努力导入一些不包含 ID 字段的 XML 数据,尽管它是必需的,因为它说我的 schema.xml:
一个 XML 示例:
<results>
<estacions>
<estacio id="72400" nom="Aeroport"/>
<estacio id="79600" nom="Arenys de Mar"/>
...
</estacions>
</results>
Schema.xml:
<uniqueKey>id</uniqueKey>
此时,我需要从http fetch中导入这个xml,然后我使用DataimportHandler。 这是我的 data-config.xml
<dataConfig>
<dataSource type="URLDataSource" />
<document>
<entity name="renfe"
url="http://host_url/myexample.xml"
processor="XPathEntityProcessor"
forEach="/results/estacions/estacio"
transformer="script:generateCustomId">
<field column="idestacio" xpath="/results/estacions/estacio/@id" commonField="true" />
<field column="nomestacio" xpath="/results/estacions/estacio/@nom" commonField="true" />
</entity>
</document>
然后,它似乎工作正常,但我收到以下错误: org.apache.solr.common.SolrException:[doc=null] 缺少必填字段:id
这让我觉得我应该在导入时生成一个自动 id,并使用 data-config.xml,但我不知道该怎么做。
我该怎么办?使用 ScriptTransformer?有什么想法不胜感激
还有一个问题:我可以在导入期间强制一个值吗?
例如:<field column="site" value="estacions"/>(显然这不起作用)
【问题讨论】:
标签: solr dataimporthandler dih