Author: andy
Date: Mon Jun 23 17:24:33 2014
New Revision: 1604886

URL: http://svn.apache.org/r1604886
Log:
DRY - centralize lucene query parsing.

Modified:
    
jena/trunk/jena-text/src/main/java/org/apache/jena/query/text/TextIndexLucene.java

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=1604886&r1=1604885&r2=1604886&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
 Mon Jun 23 17:24:33 2014
@@ -203,12 +203,17 @@ public class TextIndexLucene implements 
         }
     }
 
+    private static Query parseQuery(String queryString, String primaryField, 
Analyzer analyzer) throws ParseException {
+        QueryParser queryParser = new QueryParser(VER, primaryField, analyzer) 
;
+        queryParser.setAllowLeadingWildcard(true) ;
+        Query query = queryParser.parse(queryString) ;
+        return query ;
+    }
+    
     private List<Map<String, Node>> get$(IndexReader indexReader, String uri) 
throws ParseException, IOException {
         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) ;
+        Query query = parseQuery(qs, docDef.getPrimaryField(), analyzer) ;
         IndexSearcher indexSearcher = new IndexSearcher(indexReader) ;
         ScoreDoc[] sDocs = indexSearcher.search(query, 1).scoreDocs ;
         List<Map<String, Node>> records = new ArrayList<Map<String, Node>>() ;
@@ -245,7 +250,7 @@ public class TextIndexLucene implements 
     public List<Node> query(String qs, int limit) {
         try(IndexReader indexReader = DirectoryReader.open(directory)) {
             return query$(indexReader, qs, limit) ;
-        }
+        } 
         catch (Exception ex) {
             exception(ex) ;
             return null ;
@@ -254,9 +259,7 @@ public class TextIndexLucene implements 
 
     private List<Node> query$(IndexReader indexReader, String qs, int limit) 
throws ParseException, IOException {
         IndexSearcher indexSearcher = new IndexSearcher(indexReader) ;
-        QueryParser queryParser = new QueryParser(VER, 
docDef.getPrimaryField(), analyzer) ;
-        Query query = queryParser.parse(qs) ;
-
+        Query query = parseQuery(qs, docDef.getPrimaryField(), analyzer) ;
         if ( limit <= 0 )
             limit = MAX_N ;
         ScoreDoc[] sDocs = indexSearcher.search(query, limit).scoreDocs ;


Reply via email to