You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2021/03/10 10:02:30 UTC

[lucene] 12/15: SOLR-12570: OpenNLPExtractNamedEntitiesUpdateProcessor cannot support multi fields because pattern replacement doesn't work correctly

This is an automated email from the ASF dual-hosted git repository.

dweiss pushed a commit to branch branch_7_4
in repository https://gitbox.apache.org/repos/asf/lucene.git

commit ae3cdc187239c4daad57749b993a9a62d81de4da
Author: koji <ko...@apache.org>
AuthorDate: Mon Jul 23 18:02:40 2018 +0900

    SOLR-12570: OpenNLPExtractNamedEntitiesUpdateProcessor cannot support multi fields because pattern replacement doesn't work correctly
---
 solr/CHANGES.txt                                         |  5 ++++-
 ...penNLPExtractNamedEntitiesUpdateProcessorFactory.java | 16 ++++++++--------
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 937315e..ae65ca9 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -29,8 +29,11 @@ Apache UIMA 2.3.1
 Apache ZooKeeper 3.4.11
 Jetty 9.4.10.v20180503
 
+Bug Fixes
+----------------------
 
-(No Changes)
+* SOLR-12570: OpenNLPExtractNamedEntitiesUpdateProcessor cannot support multi fields because pattern replacement
+  doesn't work correctly. (Koji Sekiguchi)
 
 
 ==================  7.4.0 ==================
diff --git a/solr/contrib/analysis-extras/src/java/org/apache/solr/update/processor/OpenNLPExtractNamedEntitiesUpdateProcessorFactory.java b/solr/contrib/analysis-extras/src/java/org/apache/solr/update/processor/OpenNLPExtractNamedEntitiesUpdateProcessorFactory.java
index 2a7514d..d69c367 100644
--- a/solr/contrib/analysis-extras/src/java/org/apache/solr/update/processor/OpenNLPExtractNamedEntitiesUpdateProcessorFactory.java
+++ b/solr/contrib/analysis-extras/src/java/org/apache/solr/update/processor/OpenNLPExtractNamedEntitiesUpdateProcessorFactory.java
@@ -17,8 +17,6 @@
 
 package org.apache.solr.update.processor;
 
-import static org.apache.solr.common.SolrException.ErrorCode.SERVER_ERROR;
-
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;
 import java.util.ArrayList;
@@ -57,6 +55,8 @@ import org.apache.solr.util.plugin.SolrCoreAware;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import static org.apache.solr.common.SolrException.ErrorCode.SERVER_ERROR;
+
 /**
  * Extracts named entities using an OpenNLP NER <code>modelFile</code> from the values found in
  * any matching <code>source</code> field into a configured <code>dest</code> field, after
@@ -500,13 +500,13 @@ public class OpenNLPExtractNamedEntitiesUpdateProcessorFactory
               SolrInputField destField = null;
               String entityName = entity.first();
               String entityType = entity.second();
-              resolvedDest = resolvedDest.replace(ENTITY_TYPE, entityType);
-              if (doc.containsKey(resolvedDest)) {
-                destField = doc.getField(resolvedDest);
+              final String resolved = resolvedDest.replace(ENTITY_TYPE, entityType);
+              if (doc.containsKey(resolved)) {
+                destField = doc.getField(resolved);
               } else {
-                SolrInputField targetField = destMap.get(resolvedDest);
+                SolrInputField targetField = destMap.get(resolved);
                 if (targetField == null) {
-                  destField = new SolrInputField(resolvedDest);
+                  destField = new SolrInputField(resolved);
                 } else {
                   destField = targetField;
                 }
@@ -514,7 +514,7 @@ public class OpenNLPExtractNamedEntitiesUpdateProcessorFactory
               destField.addValue(entityName);
 
               // put it in map to avoid concurrent modification...
-              destMap.put(resolvedDest, destField);
+              destMap.put(resolved, destField);
             }
           }
         }