我正在尝试设置DataImportHandler并在尝试进行完全导入时出现此错误:
严重:完全导入失败:java.lang.RuntimeException:java.lang.RuntimeException:org.apache.solr.handler.dataimport.DataImportHandlerException:SolrEntityProcessor:参数'url'是必需的处理文档#1
我在示例中看到了带有solr的data-config.xml,有时Entity有url参数,有时却没有。如果需要,为什么有些例子没有呢?
它在寻找什么网址?
文档实际上并未将“url”显示为SqlEntityProcessor
的必需参数对于SqlEntityProcessor,实体属性为:
query(必需):用于查询db的sql字符串 deltaQuery:仅用于delta-import
parentDeltaQuery:仅用于delta-import
deletedPkQuery:仅用于delta-import
deltaImportQuery :(仅用于delta-import)。如果不存在,DIH会尝试通过(在识别delta之后)修改“查询”来构造导入查询(这很容易出错)。有一个名称空间$ {dataimporter.delta。}可以在此查询中使用。例如:select * from tbl where id = $ {dataimporter.delta.id} Solr1.4。
答案 0 :(得分:1)
这取决于您使用的特定EntityProcessor
实施。每个EntityProcessor
都有自己的实体属性。 SQLEntityProcessor
不需要url参数,因为它依赖于dataSource
元素来获取连接到数据库所需的信息,而例如SolrEntityProcessor
不需要dataSource
1}}元素但依赖于url
属性来获取导入数据的Solr实例的url。
还有不同的DataSource
实现,如果你查看JdbcDataSource
,你会发现它需要url参数本身。