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 2015/09/08 15:52:01 UTC

svn commit: r1701806 - in /jackrabbit/oak/trunk/oak-lucene/src: main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java

Author: chetanm
Date: Tue Sep  8 13:52:01 2015
New Revision: 1701806

URL: http://svn.apache.org/r1701806
Log:
OAK-3367 - Boosting fields not working as expected

Allow any nodeScopeIndex and analyzed field to be used. This would allow better results without going for boost as search across a small field jcr:title would lead to high score

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

Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java?rev=1701806&r1=1701805&r2=1701806&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java Tue Sep  8 13:52:01 2015
@@ -865,7 +865,6 @@ class IndexDefinition implements Aggrega
 
                     //Include props with name, boosted and nodeScopeIndex
                     if (pd.nodeScopeIndex
-                            && pd.boost != PropertyDefinition.DEFAULT_BOOST
                             && pd.analyzed
                             && !pd.isRegexp){
                         boostedProps.add(pd);

Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java?rev=1701806&r1=1701805&r2=1701806&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java Tue Sep  8 13:52:01 2015
@@ -633,6 +633,9 @@ public class IndexDefinitionTest {
                 .setProperty(LuceneIndexConstants.FIELD_BOOST, 3.0)
                 .setProperty(LuceneIndexConstants.PROP_NODE_SCOPE_INDEX, true);
         TestUtil.child(rules, "nt:folder/properties/prop2")
+                .setProperty(LuceneIndexConstants.PROP_ANALYZED, true)
+                .setProperty(LuceneIndexConstants.PROP_NODE_SCOPE_INDEX, true);
+        TestUtil.child(rules, "nt:folder/properties/prop3")
                 .setProperty(LuceneIndexConstants.PROP_PROPERTY_INDEX, true)
                 .setProperty(LuceneIndexConstants.PROP_NODE_SCOPE_INDEX, true);
 
@@ -644,9 +647,9 @@ public class IndexDefinitionTest {
         PropertyDefinition pd = rule1.getConfig("prop1");
         assertEquals(3.0f, pd.boost, 0);
         assertTrue("Analyzed should be assumed to be true for boosted fields", pd.analyzed);
-        assertFalse(rule1.getConfig("prop2").analyzed);
+        assertFalse(rule1.getConfig("prop3").analyzed);
 
-        assertEquals(1, rule1.getBoostedProps().size());
+        assertEquals(2, rule1.getBoostedProps().size());
     }
 
     //TODO indexesAllNodesOfMatchingType - with nullCheckEnabled