2012-11-17 102 views
0

这些是我尝试获取delta导入处理程序的确切步骤。如果我可以提供更多信息来帮助我知道。我从字面上花了整个周五晚上,今天在这个,我扔了毛巾。我哪里错了?无法获得Solr Delta导入索引的工作

该行添加到solrconfig:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults"> 
     <str name="config">/home/solr/data-config.xml</str> 
    </lst> 
    </requestHandler> 

然后我的数据-config.xml文件看起来是这样的:

<dataConfig> 
    <dataSource type="FileDataSource" /> 
    <document> 
    <entity 
     name="document" 
     processor="FileListEntityProcessor" 
     baseDir="/var/lib/data" 
     fileName=".*.xml$" 
     recursive="false" 
     rootEntity="false" 
     dataSource="null"> 
     <entity 
     processor="XPathEntityProcessor" 
     url="${document.fileAbsolutePath}" 
     useSolrAddSchema="true" 
     stream="true"> 
     </entity> 
    </entity> 
    </document> 
</dataConfig> 

然后在我的无功/ lib中/ data文件夹我有一个数据。看起来像这样的XML文件:

<add> 
<doc> 
     <field name="id">123</field> 
     <field name="description">This is my long description</field> 
     <field name="company">Google</field> 
     <field name="location_name">England</field> 
     <field name="date">2007-12-31 22:29:59</field> 
     <field name="source">Google</field> 
     <field name="url">www.google.com</field> 
     <field name="latlng">45.17614,45.17614</field> 
</doc> 
</add> 

最后我然后跑这个命令:

http://localhost:8080/solr/dataimport?command=delta-import&clean=false 

我得到这个结果(失败):

<response> 
<lst name="responseHeader"> 
<int name="status">0</int> 
<int name="QTime">1</int> 
</lst> 
<lst name="initArgs"> 
<lst name="defaults"> 
<str name="config">/home/solr/data-config.xml</str> 
</lst> 
</lst> 
<str name="command">delta-import</str> 
<str name="status">idle</str> 
<str name="importResponse"/> 
<lst name="statusMessages"> 
<str name="Time Elapsed">0:15:9.543</str> 
<str name="Total Requests made to DataSource">0</str> 
<str name="Total Rows Fetched">0</str> 
<str name="Total Documents Processed">0</str> 
<str name="Total Documents Skipped">0</str> 
<str name="Delta Dump started">2012-11-17 17:32:56</str> 
<str name="Identifying Delta">2012-11-17 17:32:56</str> 
<str name="">Indexing failed. Rolled back all changes.</str> 
<str name="Rolledback">2012-11-17 17:32:56</str> 
</lst> 
<str name="WARNING"> 
This response format is experimental. It is likely to change in the future. 
</str> 
</response> 

编辑:这是tomcat.log这样说:

INFO: Starting Delta Import 
Nov 18, 2012 12:48:46 PM org.apache.solr.core.SolrCore execute 
INFO: [] webapp=/solr path=/dataimport params={clean=false&command=delta-import} status=0 QTime=1 
Nov 18, 2012 12:48:46 PM org.apache.solr.handler.dataimport.SimplePropertiesWriter readIndexerProperties 
WARNING: Unable to read: dataimport.properties 
Nov 18, 2012 12:48:46 PM org.apache.solr.handler.dataimport.DocBuilder doDelta 
INFO: Starting delta collection. 
Nov 18, 2012 12:48:46 PM org.apache.solr.handler.dataimport.DocBuilder collectDelta 
INFO: Running ModifiedRowKey() for Entity: 84430688679548 
Nov 18, 2012 12:48:46 PM org.apache.solr.handler.dataimport.DocBuilder collectDelta 
INFO: Completed ModifiedRowKey for Entity: 84430688679548 rows obtained : 0 
Nov 18, 2012 12:48:46 PM org.apache.solr.handler.dataimport.DocBuilder collectDelta 
INFO: Completed DeletedRowKey for Entity: 84430688679548 rows obtained : 0 
Nov 18, 2012 12:48:46 PM org.apache.solr.handler.dataimport.DocBuilder collectDelta 
INFO: Completed parentDeltaQuery for Entity: 84430688679548 
Nov 18, 2012 12:48:46 PM org.apache.solr.handler.dataimport.DocBuilder collectDelta 
INFO: Running ModifiedRowKey() for Entity: document 
Nov 18, 2012 12:48:46 PM org.apache.solr.handler.dataimport.DocBuilder collectDelta 
INFO: Completed ModifiedRowKey for Entity: document rows obtained : 0 
Nov 18, 2012 12:48:46 PM org.apache.solr.handler.dataimport.DocBuilder collectDelta 
INFO: Completed DeletedRowKey for Entity: document rows obtained : 0 
Nov 18, 2012 12:48:46 PM org.apache.solr.handler.dataimport.DocBuilder collectDelta 
INFO: Completed parentDeltaQuery for Entity: document 
Nov 18, 2012 12:48:46 PM org.apache.solr.handler.dataimport.DocBuilder doDelta 
INFO: Delta Import completed successfully 
+0

你需要显示solr日志的错误信息,它会有详细信息 – Persimmonium

+0

谢谢你的回复。我添加了日志 – Jimmy

回答

2

望着Wiki

支持增量的唯一EntityProcessor是SqlEntityProcessor! XPathEntityProcessor尚未实现它。所以,不幸的是,目前没有对XML的增量支持。

+0

谢谢你的回复,这很奇怪。我不明白,因为似乎有工作与三角洲进口使用XML的检验: http://www.andornot.com/blog/post/Sample-Solr-DataImportHandler-for-XML-Files.aspx – Jimmy

+0

该文件你链接的不是德尔塔进口。完全导入这将工作。 –