0

我正在尝试设置 DataImportHandler 并在尝试进行完全导入时收到此错误:

严重:完全导入失败:java.lang.RuntimeException:java.lang.RuntimeException:org.apache.solr.handler.dataimport.DataImportHandlerException:SolrEntityProcessor:需要参数“url”处理文档#1

我在 solr 附带的示例 data-config.xml 中看到,有时 Entity 有 url 参数,有时没有。如果需要,为什么某些示例没有它?

它在寻找什么 URL?

文档实际上没有将“url”显示为 SqlEntityProcessor 的必需参数

对于 SqlEntityProcessor,实体属性为:
query(必需):用于查询 db 的 sql 字符串
deltaQuery:仅用于 delta-import
parentDeltaQuery:仅用于 delta-import
deletedPkQuery:仅用于 delta-import
deltaImportQuery:(仅使用在增量导入中)。如果不存在,DIH 会尝试通过(在识别增量之后)修改“查询”来构造导入查询(这很容易出错)。有一个命名空间 ${dataimporter.delta.} 可以在这个查询中使用。例如:从 tbl 中选择 *,其中 id=${dataimporter.delta.id} Solr1.4。

4

1 回答 1

1

这取决于EntityProcessor您使用的具体实现。每个EntityProcessor都有自己的实体属性。SQLEntityProcessor不需要 url 参数,因为它依赖于dataSource元素来获取连接到数据库所需的信息,而例如SolrEntityProcessor不需要dataSource元素但依赖于url属性来获取从中导入的 Solr 实例的 url数据。也有不同的DataSource实现,如果你看一下JdbcDataSource你会发现它需要 url 参数本身。

于 2012-05-03T07:57:34.397 回答