我正在尝试更新Hybris中的索引。由于文档不正确,它会跳过整个更新操作。但是我只想跳过错误的文档,其余文档必须更新。
通过在Google上搜索,我在https://issues.apache.org/jira/browse/SOLR-445中找到了解决方案
提供的解决方案是:
<processor class="solr.TolerantUpdateProcessorFactory">
<int name="maxErrors">10</int>
</processor>
现在,我不确切知道将此代码放在Hybris SolrConfiguration中的确切位置。我需要在Hybris Solr Config中实现此步骤。
默认情况下,hybris不使用任何更新请求处理器,它们已在solrconfig.xml文件中停用,因此应使用此solr功能。
<!-- Update Processors
Chains of Update Processor Factories for dealing with Update
Requests can be declared, and then used by name in Update
Request Processors
http://wiki.apache.org/solr/UpdateRequestProcessor
-->
<processor class="solr.TolerantUpdateProcessorFactory">
<int name="maxErrors">10</int>
</processor>
一旦定义了更新请求,则按照solr文档中的说明发布文档时,必须将其用作请求参数:定义将请求处理器作为新参数传递给Solr客户端的新实现
定义一个新的Spring bean,它覆盖方法getClientForIndexing以返回新solr客户端的Pool。