You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by co...@apache.org on 2018/11/20 16:51:56 UTC
[1/2] jena git commit: merge of IndexErrorOption
Repository: jena
Updated Branches:
refs/heads/master f535eb05a -> ba6b878d9
merge of IndexErrorOption
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/dd3527dd
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/dd3527dd
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/dd3527dd
Branch: refs/heads/master
Commit: dd3527ddbf0d1b82565ecd00bc1b2900b065731c
Parents: 8aca3ae
Author: Code Ferret <co...@apache.org>
Authored: Fri Nov 16 12:37:17 2018 -0600
Committer: Code Ferret <co...@apache.org>
Committed: Fri Nov 16 12:37:17 2018 -0600
----------------------------------------------------------------------
.../apache/jena/query/text/TextIndexConfig.java | 9 +++++++
.../apache/jena/query/text/TextIndexLucene.java | 26 ++++++++++++++++++--
.../assembler/TextIndexLuceneAssembler.java | 11 +++++++++
.../jena/query/text/assembler/TextVocab.java | 1 +
.../text/TestTextMultilingualEnhancements.java | 1 +
5 files changed, 46 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/dd3527dd/jena-text/src/main/java/org/apache/jena/query/text/TextIndexConfig.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexConfig.java b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexConfig.java
index 932a645..24abebb 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexConfig.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexConfig.java
@@ -28,6 +28,7 @@ public class TextIndexConfig {
String queryParser;
boolean multilingualSupport;
boolean valueStored;
+ boolean ignoreIndexErrors;
public TextIndexConfig(EntityDefinition entDef) {
this.entDef = entDef;
@@ -76,4 +77,12 @@ public class TextIndexConfig {
public void setValueStored(boolean valueStored) {
this.valueStored = valueStored;
}
+
+ public boolean isIgnoreIndexErrors() {
+ return ignoreIndexErrors;
+ }
+
+ public void setIgnoreIndexErrors(boolean ignore) {
+ this.ignoreIndexErrors = ignore;
+ }
}
http://git-wip-us.apache.org/repos/asf/jena/blob/dd3527dd/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
index 5150120..c8d87c3 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
@@ -103,6 +103,7 @@ public class TextIndexLucene implements TextIndex {
private final FieldType ftText ;
private final FieldType ftTextNotStored ; // used for lang derived fields
private final boolean isMultilingual ;
+ private final boolean ignoreIndexErrors ;
private Map<String, Analyzer> multilingualQueryAnalyzers = new HashMap<>();
@@ -127,6 +128,9 @@ public class TextIndexLucene implements TextIndex {
//multilingual index cannot work without lang field
docDef.setLangField("lang");
}
+
+ this.ignoreIndexErrors = config.ignoreIndexErrors ;
+
// create the analyzer as a wrapper that uses KeywordAnalyzer for
// entity and graph fields and the configured analyzer(s) for all other
@@ -259,7 +263,16 @@ public class TextIndexLucene implements TextIndex {
protected void updateDocument(Entity entity) throws IOException {
Document doc = doc(entity);
Term term = new Term(docDef.getEntityField(), entity.getId());
- indexWriter.updateDocument(term, doc);
+ try {
+ indexWriter.updateDocument(term, doc) ;
+ } catch (Exception ex) {
+ log.error("Error updating {} with term: {} message: {}", doc, term, ex.getMessage());
+ if (ignoreIndexErrors) {
+ return;
+ } else {
+ throw ex; // the original behavior
+ }
+ }
log.trace("updated: {}", doc) ;
}
@@ -280,7 +293,16 @@ public class TextIndexLucene implements TextIndex {
protected void addDocument(Entity entity) throws IOException {
Document doc = doc(entity) ;
- indexWriter.addDocument(doc) ;
+ try {
+ indexWriter.addDocument(doc) ;
+ } catch (Exception ex) {
+ log.error("Error adding {} message: {}", doc, ex.getMessage());
+ if (ignoreIndexErrors) {
+ return;
+ } else {
+ throw ex; // the original behavior
+ }
+ }
log.trace("added: {}", doc) ;
}
http://git-wip-us.apache.org/repos/asf/jena/blob/dd3527dd/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexLuceneAssembler.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexLuceneAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexLuceneAssembler.java
index 6b17603..dc65e85 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexLuceneAssembler.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexLuceneAssembler.java
@@ -152,6 +152,16 @@ public class TextIndexLuceneAssembler extends AssemblerBase {
storeValues = svNode.asLiteral().getBoolean();
}
+ boolean ignoreIndexErrs = false;
+ Statement ignoreIndexErrsStatement = root.getProperty(pIgnoreIndexErrors);
+ if (null != ignoreIndexErrsStatement) {
+ RDFNode iieNode = ignoreIndexErrsStatement.getObject();
+ if (! iieNode.isLiteral()) {
+ throw new TextIndexException("text:ignoreIndexErrors property must be a boolean : " + iieNode);
+ }
+ ignoreIndexErrs = iieNode.asLiteral().getBoolean();
+ }
+
// use query cache by default
boolean cacheQueries = true;
Statement cacheQueriesStatement = root.getProperty(pCacheQueries);
@@ -171,6 +181,7 @@ public class TextIndexLuceneAssembler extends AssemblerBase {
config.setQueryParser(queryParser);
config.setMultilingualSupport(isMultilingualSupport);
config.setValueStored(storeValues);
+ config.setIgnoreIndexErrors(ignoreIndexErrs);
docDef.setCacheQueries(cacheQueries);
return TextDatasetFactory.createLuceneIndex(directory, config) ;
http://git-wip-us.apache.org/repos/asf/jena/blob/dd3527dd/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextVocab.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextVocab.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextVocab.java
index 6a2922b..ee2bdb3 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextVocab.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextVocab.java
@@ -39,6 +39,7 @@ public class TextVocab
public static final Property pDirectory = Vocab.property(NS, "directory") ; // Lucene
public static final Property pMultilingualSupport = Vocab.property(NS, "multilingualSupport") ;
public static final Property pStoreValues = Vocab.property(NS, "storeValues") ;
+ public static final Property pIgnoreIndexErrors = Vocab.property(NS, "ignoreIndexErrors") ;
public static final Property pQueryAnalyzer = Vocab.property(NS, "queryAnalyzer") ;
public static final Property pQueryParser = Vocab.property(NS, "queryParser") ;
public static final Property pEntityMap = Vocab.property(NS, "entityMap") ;
http://git-wip-us.apache.org/repos/asf/jena/blob/dd3527dd/jena-text/src/test/java/org/apache/jena/query/text/TestTextMultilingualEnhancements.java
----------------------------------------------------------------------
diff --git a/jena-text/src/test/java/org/apache/jena/query/text/TestTextMultilingualEnhancements.java b/jena-text/src/test/java/org/apache/jena/query/text/TestTextMultilingualEnhancements.java
index 40e7e9e..5ca5a16 100644
--- a/jena-text/src/test/java/org/apache/jena/query/text/TestTextMultilingualEnhancements.java
+++ b/jena-text/src/test/java/org/apache/jena/query/text/TestTextMultilingualEnhancements.java
@@ -85,6 +85,7 @@ public class TestTextMultilingualEnhancements extends AbstractTestDatasetWithTex
" text:storeValues true ;",
" text:entityMap :entMap ;",
" text:multilingualSupport true ;",
+ " text:ignoreIndexErrors true ;",
" text:defineAnalyzers (",
" [ text:defineAnalyzer :folding ;",
" text:analyzer [",
[2/2] jena git commit: JENA-1630 Merge commit 'refs/pull/491/head' of
https://github.com/apache/jena. This closes #491
Posted by co...@apache.org.
JENA-1630 Merge commit 'refs/pull/491/head' of https://github.com/apache/jena. This closes #491
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/ba6b878d
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/ba6b878d
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/ba6b878d
Branch: refs/heads/master
Commit: ba6b878d9cd46ebc50074357fa4fcc5e28b61b7b
Parents: f535eb0 dd3527d
Author: Code Ferret <co...@apache.org>
Authored: Tue Nov 20 10:48:10 2018 -0600
Committer: Code Ferret <co...@apache.org>
Committed: Tue Nov 20 10:48:10 2018 -0600
----------------------------------------------------------------------
.../apache/jena/query/text/TextIndexConfig.java | 9 +++++++
.../apache/jena/query/text/TextIndexLucene.java | 26 ++++++++++++++++++--
.../assembler/TextIndexLuceneAssembler.java | 11 +++++++++
.../jena/query/text/assembler/TextVocab.java | 1 +
.../text/TestTextMultilingualEnhancements.java | 1 +
5 files changed, 46 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/ba6b878d/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
----------------------------------------------------------------------