You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2014/07/24 09:03:41 UTC

svn commit: r1613018 - /jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java

Author: chetanm
Date: Thu Jul 24 07:03:40 2014
New Revision: 1613018

URL: http://svn.apache.org/r1613018
Log:
OAK-1987 - LuceneIndex should access Lucene Directory if query involves FullTextSearch for cost calculation

Change the order of check. Index would now only be accessed only when query has a full text constraint

Modified:
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java

Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java?rev=1613018&r1=1613017&r2=1613018&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndex.java Thu Jul 24 07:03:40 2014
@@ -177,17 +177,18 @@ public class LuceneIndex implements Full
 
     @Override
     public double getCost(Filter filter, NodeState root) {
+        FullTextExpression ft = filter.getFullTextConstraint();
+        if (ft == null) {
+            // no full-text condition: don't use this index,
+            // as there might be a better one
+            return Double.POSITIVE_INFINITY;
+        }
+
         IndexNode index = tracker.acquireIndexNode("/");
         if (index == null) { // unusable index
             return Double.POSITIVE_INFINITY;
         }
         try {
-            FullTextExpression ft = filter.getFullTextConstraint();
-            if (ft == null) {
-                // no full-text condition: don't use this index,
-                // as there might be a better one
-                return Double.POSITIVE_INFINITY;
-            }
             Set<String> relPaths = getRelativePaths(ft);
             if (relPaths.size() > 1) {
                 LOG.warn("More than one relative parent for query " + filter.getQueryStatement());