2012-04-26 49 views
0

我在DIH中使用UpdateRequestProcessorChain,并得到数据未提交给索引的问题。我试图调试我的处理器,它的工作原理。全进口命令的状态是:Solr 1.4:没有提交自定义UpdateRequestProcessorFactory

<response> 
<lst name="responseHeader"> 
    <int name="status">0</int> 
    <int name="QTime">1</int> 
</lst> 
<lst name="initArgs"> 
    <lst name="defaults"> 
     <str name="update.processor">DataImportChain</str> 
     <str name="config">data-config.xml</str> 
    </lst> 
</lst> 
<str name="command">status</str> 
<str name="status">idle</str> 
<str name="importResponse"/> 
<lst name="statusMessages"> 
    <str name="Total Requests made to DataSource">0</str> 
    <str name="Total Rows Fetched">7</str> 
    <str name="Total Documents Skipped">0</str> 
    <str name="Full Dump Started">2012-04-26 17:47:44</str> 
    <str name="">Indexing completed. Added/Updated: 6 documents. Deleted 0 documents.</str> 
    <str name="Committed">2012-04-26 17:47:45</str> 
    <str name="Optimized">2012-04-26 17:47:45</str> 
    <str name="Total Documents Processed">6</str> 
    <str name="Time taken ">0:0:1.174</str> 
</lst> 
<str name="WARNING">This response format is experimental. It is likely to change in the future.</str> 

但在catalina.out的任何信息的提交过程被称为:

26.04.2012 17:47:44 org.apache.solr.handler.dataimport.DataImporter doFullImport 
INFO: Starting Full Import 
26.04.2012 17:47:44 org.apache.solr.core.SolrCore execute 
INFO: [dev] webapp=/solr path=/dataimport params={clean=true&commit=true&command=full-import} status=0 QTime=20 
26.04.2012 17:47:44 org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties 
INFO: Read dataimport.properties 
26.04.2012 17:47:45 org.apache.solr.handler.dataimport.XPathEntityProcessor initXpathReader 
INFO: Using xslTransformer: com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl 
26.04.2012 17:47:45 org.apache.solr.handler.dataimport.DocBuilder finish 
INFO: Import completed successfully 
26.04.2012 17:47:45 org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties 
INFO: Read dataimport.properties 
26.04.2012 17:47:45 org.apache.solr.handler.dataimport.SolrWriter persist 
INFO: Wrote last indexed time to dataimport.properties 
26.04.2012 17:47:45 org.apache.solr.handler.dataimport.DocBuilder execute 
INFO: Time taken = 0:0:1.174 

有没有任何错误在日志中。如果我使用没有UpdateRequestProcessorChain的DIH,那么提交没有问题。有没有人知道这里有什么可能是错的?

这里是我的solrconfig.xml中配置:

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

<updateRequestProcessorChain name="DataImportChain" > 
    <processor class="my.package.MyProcessorFactory" /> 
</updateRequestProcessorChain> 
+0

你是什么意思:“我在DIH中使用UpdateRequestProcessorChain”?你可以发布链配置吗? – javanna 2012-04-27 08:00:55

+0

@javanna我从上面的solrconfig.xml添加了链配置。谢谢你的帮助。 – user1178290 2012-04-30 09:55:44

回答

1

你在你的updateRequestProcessorChain遗漏了一些基本的处理器,这就是为什么没有任何反应。试试这个配置:

<updateRequestProcessorChain name="DataImportChain" > 
    <processor class="my.package.MyProcessorFactory" /> 
    <processor class="solr.RunUpdateProcessorFactory" /> 
    <processor class="solr.LogUpdateProcessorFactory" /> 
</updateRequestProcessorChain> 

RunUpdateProcessorFactory实际上是在其中一个做内链“普通货色”。如果你忘记了它,你正在预处理一些从未编入索引的东西。

+0

我试过这种配置,它的工作原理。感谢您的帮助! – user1178290 2012-05-02 08:05:07