自定义UpdateRequestProcessorFactory

时间:2014-02-27 08:45:16

标签: solr

我编写了一个自定义的UpdateRequestProcessorFactory来在索引之前解析我的数据。但数据没有得到承诺。因此,当我重新启动服务器时,所有数据都消失了。我也使用了正确的配置。

<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>

默认的更新处理程序也使用我的update.chain。如何防止

1 个答案:

答案 0 :(得分:2)

  1. 您有默认值=&#34; true&#34; ,因此您的链可用于所有更新处理程序。删除它。
  2. 您似乎在处理程序定义中缺少类名,除非 com.solr.handler 包中的拦截器<processor class="com.solr.handler.interceptor.CLASSNAME?"></processor>
  3. 如果从命令行启动Solr,是否在控制台日志中出现任何错误?这可能会给你一个提示。