diff --git a/source/net/yacy/search/Switchboard.java b/source/net/yacy/search/Switchboard.java index d6024b7ae..dd5adeb0c 100644 --- a/source/net/yacy/search/Switchboard.java +++ b/source/net/yacy/search/Switchboard.java @@ -2539,20 +2539,6 @@ public final class Switchboard extends serverSwitch { boolean postprocessing = process_key_exist && reference_index_exist && minimum_ram_fullfilled && minimum_load_fullfilled; if (!postprocessing) log.info("postprocessing deactivated: constraints violated"); - // Hack to prevent Solr problem on partial update if target document contains multivalued date field - // regardless if this field is part of the update it causes a org.apache.solr.common.SolrException: Invalid Date String Exception. - // 2015-09-12 Solr v5.2.1 & v5.3 - // this hack switches partial update off (if multivalued datefield _dts exists, like: dates_in_content_dts startDates_dts endDates_dts) - boolean partialUpdate = getConfigBool("postprocessing.partialUpdate", true); - - /* Solr 5.4.0 bugfix see http://issues.apache.org/jira/browse/SOLR-8050 Partial update on document with multivalued date field fails - * - for (String sf : index.fulltext().getDefaultConfiguration().keySet()) { - if (sf.endsWith("_dts")) { - partialUpdate = false; - } - } - */ if (allCrawlsFinished) { // refresh the search cache SearchEventCache.cleanupEvents(true); @@ -2561,7 +2547,7 @@ public final class Switchboard extends serverSwitch { if (postprocessing) { // run postprocessing on all profiles ReferenceReportCache rrCache = index.getReferenceReportCache(); - proccount += collection1Configuration.postprocessing(index, rrCache, null, partialUpdate); + proccount += collection1Configuration.postprocessing(index, rrCache, null, getConfigBool("postprocessing.partialUpdate", true)); this.index.fulltext().commit(true); // without a commit the success is not visible in the monitoring } this.crawler.cleanProfiles(this.crawler.getActiveProfiles()); @@ -2574,7 +2560,7 @@ public final class Switchboard extends serverSwitch { if (postprocessing) { // run postprocessing on these profiles ReferenceReportCache rrCache = index.getReferenceReportCache(); - for (String profileHash: deletionCandidates) proccount += collection1Configuration.postprocessing(index, rrCache, profileHash, partialUpdate); + for (String profileHash: deletionCandidates) proccount += collection1Configuration.postprocessing(index, rrCache, profileHash, getConfigBool("postprocessing.partialUpdate", true)); this.index.fulltext().commit(true); // without a commit the success is not visible in the monitoring } this.crawler.cleanProfiles(deletionCandidates);