Author: andy
Date: Thu Jun 12 21:55:38 2014
New Revision: 1602301

URL: http://svn.apache.org/r1602301
Log:
Allow leading * and ? (but they may be slow)

Modified:
    
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java
    
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
    
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
    
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexLuceneAssembler.java
    
jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/TextSearchUtil.java

Modified: 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java?rev=1602301&r1=1602300&r2=1602301&view=diff
==============================================================================
--- 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java
 (original)
+++ 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/DatasetGraphText.java
 Thu Jun 12 21:55:38 2014
@@ -21,7 +21,7 @@ package org.apache.jena.query.text ;
 import java.util.Iterator ;
 import java.util.List ;
 
-import org.apache.lucene.queryparser.classic.QueryParser ;
+import org.apache.lucene.queryparser.classic.QueryParserBase ;
 import org.slf4j.Logger ;
 import org.slf4j.LoggerFactory ;
 
@@ -83,7 +83,7 @@ public class DatasetGraphText extends Da
 
     /** Search the text index on the text field associated with the predicate 
*/
     public Iterator<Node> search(String queryString, Node predicate, int 
limit) {
-        queryString = QueryParser.escape(queryString) ;
+        queryString = QueryParserBase.escape(queryString) ;
         if ( predicate != null ) {
             String f = textIndex.getDocDef().getField(predicate) ;
             queryString = f + ":" + queryString ;

Modified: 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java?rev=1602301&r1=1602300&r2=1602301&view=diff
==============================================================================
--- 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
 (original)
+++ 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java
 Thu Jun 12 21:55:38 2014
@@ -26,17 +26,14 @@ import org.apache.lucene.analysis.Analyz
 import org.apache.lucene.analysis.core.KeywordAnalyzer ;
 import org.apache.lucene.analysis.miscellaneous.PerFieldAnalyzerWrapper ;
 import org.apache.lucene.analysis.standard.StandardAnalyzer ;
-import org.apache.lucene.document.Document ;
-import org.apache.lucene.document.Field ;
-import org.apache.lucene.document.FieldType ;
-import org.apache.lucene.document.StringField ;
-import org.apache.lucene.document.TextField ;
+import org.apache.lucene.document.* ;
 import org.apache.lucene.index.DirectoryReader ;
 import org.apache.lucene.index.IndexReader ;
 import org.apache.lucene.index.IndexWriter ;
 import org.apache.lucene.index.IndexWriterConfig ;
 import org.apache.lucene.queryparser.classic.ParseException ;
 import org.apache.lucene.queryparser.classic.QueryParser ;
+import org.apache.lucene.queryparser.classic.QueryParserBase ;
 import org.apache.lucene.search.IndexSearcher ;
 import org.apache.lucene.search.Query ;
 import org.apache.lucene.search.ScoreDoc ;
@@ -207,9 +204,10 @@ public class TextIndexLucene implements 
     }
 
     private List<Map<String, Node>> get$(IndexReader indexReader, String uri) 
throws ParseException, IOException {
-        String escaped = QueryParser.escape(uri) ;
+        String escaped = QueryParserBase.escape(uri) ;
         String qs = docDef.getEntityField() + ":" + escaped ;
         QueryParser queryParser = new QueryParser(VER, 
docDef.getPrimaryField(), analyzer) ;
+        queryParser.setAllowLeadingWildcard(true) ;
         Query query = queryParser.parse(qs) ;
         IndexSearcher indexSearcher = new IndexSearcher(indexReader) ;
         ScoreDoc[] sDocs = indexSearcher.search(query, 1).scoreDocs ;
@@ -245,15 +243,8 @@ public class TextIndexLucene implements 
 
     @Override
     public List<Node> query(String qs, int limit) {
-        try {
-            // Upgrade at Java7 ...
-            IndexReader indexReader = DirectoryReader.open(directory) ;
-            try {
-                return query$(indexReader, qs, limit) ;
-            }
-            finally {
-                indexReader.close() ;
-            }
+        try(IndexReader indexReader = DirectoryReader.open(directory)) {
+            return query$(indexReader, qs, limit) ;
         }
         catch (Exception ex) {
             exception(ex) ;

Modified: 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java?rev=1602301&r1=1602300&r2=1602301&view=diff
==============================================================================
--- 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java 
(original)
+++ 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextQueryPF.java 
Thu Jun 12 21:55:38 2014
@@ -23,7 +23,7 @@ import java.util.List ;
 import org.apache.jena.atlas.iterator.Iter ;
 import org.apache.jena.atlas.lib.InternalErrorException ;
 import org.apache.jena.atlas.logging.Log ;
-import org.apache.lucene.queryparser.classic.QueryParser ;
+import org.apache.lucene.queryparser.classic.QueryParserBase ;
 import org.slf4j.Logger ;
 import org.slf4j.LoggerFactory ;
 
@@ -31,11 +31,7 @@ import com.hp.hpl.jena.datatypes.RDFData
 import com.hp.hpl.jena.datatypes.xsd.XSDDatatype ;
 import com.hp.hpl.jena.graph.Node ;
 import com.hp.hpl.jena.query.QueryBuildException ;
-import com.hp.hpl.jena.sparql.core.DatasetGraph ;
-import com.hp.hpl.jena.sparql.core.GraphView ;
-import com.hp.hpl.jena.sparql.core.Quad ;
-import com.hp.hpl.jena.sparql.core.Substitute ;
-import com.hp.hpl.jena.sparql.core.Var ;
+import com.hp.hpl.jena.sparql.core.* ;
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
 import com.hp.hpl.jena.sparql.engine.QueryIterator ;
 import com.hp.hpl.jena.sparql.engine.binding.Binding ;
@@ -177,7 +173,7 @@ public class TextQueryPF extends Propert
                     activeGraph.getGraphName() != null 
                     ? 
TextQueryFuncs.graphNodeToString(activeGraph.getGraphName())
                     : Quad.defaultGraphNodeGenerated.getURI() ;
-                String escaped = QueryParser.escape(uri) ;
+                String escaped = QueryParserBase.escape(uri) ;
                 String qs2 = server.getDocDef().getGraphField() + ":" + 
escaped ;
                 queryString = "(" + queryString + ") AND " + qs2 ;
             }

Modified: 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexLuceneAssembler.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexLuceneAssembler.java?rev=1602301&r1=1602300&r2=1602301&view=diff
==============================================================================
--- 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexLuceneAssembler.java
 (original)
+++ 
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/assembler/TextIndexLuceneAssembler.java
 Thu Jun 12 21:55:38 2014
@@ -50,6 +50,7 @@ public class TextIndexLuceneAssembler ex
         .
     */
 
+    @SuppressWarnings("resource")
     @Override
     public TextIndex open(Assembler a, Resource root, Mode mode) {
         try {

Modified: 
jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/TextSearchUtil.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/TextSearchUtil.java?rev=1602301&r1=1602300&r2=1602301&view=diff
==============================================================================
--- 
jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/TextSearchUtil.java
 (original)
+++ 
jena/trunk/jena-text/src/test/java/org/apache/jena/query/text/TextSearchUtil.java
 Thu Jun 12 21:55:38 2014
@@ -52,8 +52,9 @@ public class TextSearchUtil {
         try {
             Directory directory = FSDirectory.open(indexDir) ;
             IndexWriterConfig wConfig = new IndexWriterConfig(VER, analyzer) ;
-            IndexWriter indexWriter = new IndexWriter(directory, wConfig) ;
-            indexWriter.close() ; // force creation of the index files
+            // force creation of the index files
+            try(IndexWriter indexWriter = new IndexWriter(directory, wConfig)) 
{
+            }
         } catch (IOException ex) {
             IO.exception(ex) ;
         }


Reply via email to