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());