Solr DIH XML不提取
问题描述:
我试图使用Solr 7.0索引一些wiki页面,但在最后一步中,DataImportHandler显然没有提取数据。我不知道发生了什么,因为没有错误被抛出。Solr DIH XML不提取
当我打电话给http://localhost:8983/solr/mycore/dataimport?command=full-import两种不同的行为是显而易见的。
我的第一个请求的第一个响应是。
{
"responseHeader":{
"status":0,
"QTime":75
},
"initArgs":[
"defaults",[
"config","data-config.xml"
]
],
"command":"full-import",
"status":"idle",
"importResponse":"",
"statusMessages":{}
}
,当我刚刚再次按Enter键是第二个响应。
{
"responseHeader":{
"status":0,
"QTime":26
},
"initArgs":[
"defaults",[
"config","data-config.xml"
]
],
"command":"full-import",
"status":"idle",
"importResponse":"",
"statusMessages":{
"Total Requests made to DataSource":"0",
"Total Rows Fetched":"2",
"Total Documents Processed":"0",
"Total Documents Skipped":"0",
"Full Dump Started":"2017-10-28 07:05:31",
"":"Indexing completed. Added/Updated: 0 documents. Deleted 0
documents.",
"Committed":"2017-10-28 07:05:31",
"Time taken":"0:0:0.449"
}
}
正如你在第二个答案中看到的,DIH找到了2个文件。这正是我在测试文件wiki.xml
中的文档编号。问题是DIH没有提取,因为您可能会注意到Indexing completed. Added/Updated: 0 documents. Deleted 0 documents.
这是我的Solr配置:git gist。我正在使用Windows 10,Solr 7.0和Lucene 7.0。
我到目前为止已经试过......
- 其中之一,我试图提取的是“用户”,但也有一些违规行为与它的数据,例如,在
<contributor>
XML标签有一些时间两个子标签<username>
(用户昵称)和<id>
(用户ID),当用户有一个帐户和其他一些时间,当用户没有一个帐户<contributor>
出现只有一个子标签<ip>
。所以我只是尝试导入没有“用户”数据的数据。 - 我只是想获得唯一的ID和标题。为此,我对
data-config.xml
中的其他字段发表评论。
这些测试没有人工作。
答
你的问题很简单,你的entity
标签最初是关闭的,所以以下所有fields
标签都被忽略。
所以,你需要用刚<entity>
事后添加</entity>
标签和替换<entity/>
但是,你仍然solrconfig.xml中包含一个错误,您正在使用ClassicIndexSchemaFactory
,但你必须AddSchemaFieldsUpdateProcessorFactory
,这将导致异常。您应该将经典模式工厂替换为受管理的工厂,或者只是删除此添加字段更新处理器工厂。