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
----------------------------------------------------------------------