You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2017/06/28 16:57:15 UTC
[06/18] jena git commit: added parameters of type
org.apache.lucene.analysis.Analyzer
added parameters of type org.apache.lucene.analysis.Analyzer
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/d2f0561b
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/d2f0561b
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/d2f0561b
Branch: refs/heads/master
Commit: d2f0561b99c957658261b3693e4a89892369a65a
Parents: 8f1fa7c
Author: Chris Tomlinson <ct...@moonvine.org>
Authored: Sat Apr 22 12:29:04 2017 -0500
Committer: Chris Tomlinson <ct...@moonvine.org>
Committed: Sat Apr 22 12:29:04 2017 -0500
----------------------------------------------------------------------
.../assembler/GenericAnalyzerAssembler.java | 61 ++++++++++++++++----
1 file changed, 50 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/d2f0561b/jena-text/src/main/java/org/apache/jena/query/text/assembler/GenericAnalyzerAssembler.java
----------------------------------------------------------------------
diff --git a/jena-text/src/main/java/org/apache/jena/query/text/assembler/GenericAnalyzerAssembler.java b/jena-text/src/main/java/org/apache/jena/query/text/assembler/GenericAnalyzerAssembler.java
index 0fa706e..853fcb6 100644
--- a/jena-text/src/main/java/org/apache/jena/query/text/assembler/GenericAnalyzerAssembler.java
+++ b/jena-text/src/main/java/org/apache/jena/query/text/assembler/GenericAnalyzerAssembler.java
@@ -48,6 +48,7 @@ import org.apache.lucene.analysis.CharArraySet;
* file java.io.FileReader
* int int
* boolean boolean
+ * analyzer org.apache.lucene.analysis.Analyzer
* </pre>
*
* Although the list of types is not exhaustive it is a simple matter
@@ -83,7 +84,7 @@ import org.apache.lucene.analysis.CharArraySet;
* A parameter of type <code>string</code>, <code>file</code>, <code>boolean</code>, or
* <code>int</code> <i>must have</i> a single <code>text:paramValue</code> of the appropriate type.
* <p>
- * Example:
+ * Examples:
* <pre>
text:map (
[ text:field "text" ;
@@ -101,6 +102,23 @@ import org.apache.lucene.analysis.CharArraySet;
)
] .
* </pre>
+ * <pre>
+ text:map (
+ [ text:field "text" ;
+ text:predicate rdfs:label;
+ text:analyzer [
+ a text:GenericAnalyzer ;
+ text:class "org.apache.lucene.analysis.shingle.ShingleAnalyzerWrapper" ;
+ text:params (
+ [ text:paramName "defaultAnalyzer" ;
+ text:paramType "analyzer" ;
+ text:paramValue [ a text:SimpleAnalyzer ] ]
+ [ text:paramName "maxShingleSize" ;
+ text:paramType "int" ;
+ text:paramValue 3 ]
+ )
+ ] .
+ * </pre>
*/
public class GenericAnalyzerAssembler extends AssemblerBase {
/*
@@ -121,7 +139,14 @@ public class GenericAnalyzerAssembler extends AssemblerBase {
] .
*/
- @Override
+ public static final String TYPE_ANALYZER = "analyzer";
+ public static final String TYPE_BOOL = "boolean";
+ public static final String TYPE_FILE = "file";
+ public static final String TYPE_INT = "int";
+ public static final String TYPE_SET = "set";
+ public static final String TYPE_STRING = "string";
+
+ @Override
public Analyzer open(Assembler a, Resource root, Mode mode) {
if (root.hasProperty(TextVocab.pClass)) {
// text:class is expected to be a string literal
@@ -242,7 +267,7 @@ public class GenericAnalyzerAssembler extends AssemblerBase {
switch (type) {
// String
- case "string": {
+ case TYPE_STRING: {
if (value == null) {
throw new TextIndexException("Value for string param: " + name + " must not be empty!");
}
@@ -250,8 +275,8 @@ public class GenericAnalyzerAssembler extends AssemblerBase {
return new ParamSpec(name, value, String.class);
}
- // "java.io.FileReader":
- case "file": {
+ // java.io.FileReader
+ case TYPE_FILE: {
if (value == null) {
throw new TextIndexException("Value for file param must exist and must contain a file name.");
@@ -267,8 +292,8 @@ public class GenericAnalyzerAssembler extends AssemblerBase {
}
}
- // "org.apache.lucene.analysis.util.CharArraySet":
- case "set": {
+ // org.apache.lucene.analysis.util.CharArraySet
+ case TYPE_SET: {
if (valueStmt == null) {
throw new TextIndexException("A set param spec must have a text:paramValue:" + node);
}
@@ -283,8 +308,8 @@ public class GenericAnalyzerAssembler extends AssemblerBase {
return new ParamSpec(name, new CharArraySet(values, false), CharArraySet.class);
}
- // "int":
- case "int":
+ // int
+ case TYPE_INT:
if (value == null) {
throw new TextIndexException("Value for int param: " + name + " must not be empty!");
}
@@ -292,8 +317,8 @@ public class GenericAnalyzerAssembler extends AssemblerBase {
int n = ((Literal) valueStmt.getObject()).getInt();
return new ParamSpec(name, n, int.class);
- // "boolean":
- case "boolean":
+ // boolean
+ case TYPE_BOOL:
if (value == null) {
throw new TextIndexException("Value for boolean param: " + name + " must not be empty!");
}
@@ -301,6 +326,20 @@ public class GenericAnalyzerAssembler extends AssemblerBase {
boolean b = ((Literal) valueStmt.getObject()).getBoolean();
return new ParamSpec(name, b, boolean.class);
+ // org.apache.lucene.analysis.Analyzer
+ case TYPE_ANALYZER:
+ if (valueStmt == null) {
+ throw new TextIndexException("Analyzer param spec must have a text:paramValue:" + node);
+ }
+
+ RDFNode valueNode = valueStmt.getObject();
+ if (!valueNode.isResource()) {
+ throw new TextIndexException("Analyzer param spec text:paramValue must be an analyzer spec resource: " + valueNode);
+ }
+
+ Analyzer analyzer = (Analyzer) Assembler.general.open((Resource) valueNode);
+ return new ParamSpec(name, analyzer, Analyzer.class);
+
default:
// there was no match
Log.error(this, "Unknown parameter type: " + type + " for param: " + name + " with value: " + value);