mirror of https://github.com/apache/lucene.git
SOLR-2582: Use uniqueKey for error log in UIMAUpdateRequestProcessor
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1135011 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
52e432be3a
commit
0e96bce83e
|
@ -25,6 +25,12 @@ $Id$
|
|||
|
||||
================== 3.3.0-dev ==============
|
||||
|
||||
New Features
|
||||
----------------------
|
||||
|
||||
* SOLR-2582: Use uniqueKey for error log in UIMAUpdateRequestProcessor.
|
||||
(Tommaso Teofili via koji)
|
||||
|
||||
Bug Fixes
|
||||
----------------------
|
||||
|
||||
|
|
|
@ -35,8 +35,9 @@ To start using Solr UIMA Metadata Extraction Library you should go through the f
|
|||
never indexed documents entirely in your session. -->
|
||||
<bool name="ignoreErrors">true</bool>
|
||||
<!-- This is optional. It is used for logging when text processing fails.
|
||||
Usually, set uniqueKey field name -->
|
||||
If logField is not specified, uniqueKey will be used as logField.
|
||||
<str name="logField">id</str>
|
||||
-->
|
||||
<lst name="analyzeFields">
|
||||
<bool name="merge">false</bool>
|
||||
<arr name="fields">
|
||||
|
|
|
@ -21,6 +21,7 @@ import org.apache.solr.common.SolrException;
|
|||
import org.apache.solr.common.SolrException.ErrorCode;
|
||||
import org.apache.solr.common.SolrInputDocument;
|
||||
import org.apache.solr.core.SolrCore;
|
||||
import org.apache.solr.schema.SchemaField;
|
||||
import org.apache.solr.uima.processor.SolrUIMAConfiguration.MapField;
|
||||
import org.apache.solr.uima.processor.ae.AEProvider;
|
||||
import org.apache.solr.uima.processor.ae.AEProviderFactory;
|
||||
|
@ -45,6 +46,8 @@ public class UIMAUpdateRequestProcessor extends UpdateRequestProcessor {
|
|||
|
||||
private AEProvider aeProvider;
|
||||
|
||||
private SolrCore solrCore;
|
||||
|
||||
public UIMAUpdateRequestProcessor(UpdateRequestProcessor next, SolrCore solrCore,
|
||||
SolrUIMAConfiguration config) {
|
||||
super(next);
|
||||
|
@ -52,6 +55,7 @@ public class UIMAUpdateRequestProcessor extends UpdateRequestProcessor {
|
|||
}
|
||||
|
||||
private void initialize(SolrCore solrCore, SolrUIMAConfiguration config) {
|
||||
this.solrCore = solrCore;
|
||||
solrUIMAConfiguration = config;
|
||||
aeProvider = AEProviderFactory.getInstance().getAEProvider(solrCore.getName(),
|
||||
solrUIMAConfiguration.getAePath(), solrUIMAConfiguration.getRuntimeParameters());
|
||||
|
@ -84,6 +88,12 @@ public class UIMAUpdateRequestProcessor extends UpdateRequestProcessor {
|
|||
}
|
||||
} catch (Exception e) {
|
||||
String logField = solrUIMAConfiguration.getLogField();
|
||||
if(logField == null){
|
||||
SchemaField uniqueKeyField = solrCore.getSchema().getUniqueKeyField();
|
||||
if(uniqueKeyField != null){
|
||||
logField = uniqueKeyField.getName();
|
||||
}
|
||||
}
|
||||
String optionalFieldInfo = logField == null ? "." :
|
||||
new StringBuilder(". ").append(logField).append("=")
|
||||
.append((String)cmd.getSolrInputDocument().getField(logField).getValue())
|
||||
|
|
|
@ -1064,8 +1064,6 @@
|
|||
</lst>
|
||||
<str name="analysisEngine">/TestExceptionAE.xml</str>
|
||||
<bool name="ignoreErrors">true</bool>
|
||||
<!-- This is optional. It is used for logging when text processing fails. Usually, set uniqueKey field name -->
|
||||
<str name="logField">id</str>
|
||||
<lst name="analyzeFields">
|
||||
<bool name="merge">false</bool>
|
||||
<arr name="fields">
|
||||
|
|
Loading…
Reference in New Issue