我写了一个自定义处理程序。但事情是commitWithin不工作,commit =“true”正在工作。这是我的配置文件。
<updateRequestProcessorChain name="mytestupdatehandler" default="true">
<processor class="com.solr.handler.interceptor"></processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
<requestHandler name="/MypdateHandler" class="solr.UpdateRequestHandler" >
<lst name="defaults">
<str name="update.chain">mytestupdatehandler</str>
</lst>
</requestHandler>
<requestHandler name="/update" class="solr.UpdateRequestHandler">
<!-- See below for information on defining
updateRequestProcessorChains that can be used by name
on each Update Request
-->
<lst name="defaults">
<str name="maxThreads">50</str>
<str name="handlerType">asyncXML</str>
<str name="sharedError">false</str>
</lst>
</requestHandler>
我也检查了我的日志文件并显示
2014年3月3日下午1:09:56 org.apache.solr.update.processor.LogUpdateProcessor完成 信息:[collection1] webapp = / solr path = / LMUpdateHandler params = {wt = json} {add = [checkcommitwithtrue]} 0 124 2014年3月3日下午1:09:57 org.apache.solr.update.DirectUpdateHandler2提交 INFO:start commit {,optimize = false,openSearcher = true,waitSearcher = true,expungeDeletes = false,softCommit = true,prepareCommit = false} 2014年3月3日下午1:09:57 org.apache.solr.search.SolrIndexSearcher 信息:开放搜索者@ 225bcd91 main 2014年3月3日下午1:09:57 org.apache.solr.update.DirectUpdateHandler2提交 信息:end_commit_flush