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 fo...@apache.org on 2020/09/03 09:59:32 UTC

svn commit: r1881410 - in /jackrabbit/oak/trunk/oak-search-elastic/src: main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDefinition.java test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFullTextAsyncTest.java

Author: fortino
Date: Thu Sep  3 09:59:32 2020
New Revision: 1881410

URL: http://svn.apache.org/viewvc?rev=1881410&view=rev
Log:
OAK-9194: propertyIndex with nodeScopeIndex should be stored in :fulltext only

Modified:
    jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDefinition.java
    jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFullTextAsyncTest.java

Modified: jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDefinition.java?rev=1881410&r1=1881409&r2=1881410&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDefinition.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDefinition.java Thu Sep  3 09:59:32 2020
@@ -136,7 +136,7 @@ public class ElasticIndexDefinition exte
     }
 
     public boolean isAnalyzed(List<PropertyDefinition> propertyDefinitions) {
-        return propertyDefinitions.stream().anyMatch(pd -> pd.analyzed || pd.fulltextEnabled());
+        return propertyDefinitions.stream().anyMatch(pd -> pd.analyzed);
     }
 
     @Override

Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFullTextAsyncTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFullTextAsyncTest.java?rev=1881410&r1=1881409&r2=1881410&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFullTextAsyncTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFullTextAsyncTest.java Thu Sep  3 09:59:32 2020
@@ -142,6 +142,32 @@ public class ElasticFullTextAsyncTest ex
         });
     }
 
+    @Test
+    public void propertyIndexWithNodeScopeIndexedQuery() throws Exception {
+        IndexDefinitionBuilder builder = createIndex("a", "b").async("async");
+        builder.indexRule("nt:base").property("a").nodeScopeIndex();
+        builder.indexRule("nt:base").property("b").nodeScopeIndex();
+
+        setIndex(UUID.randomUUID().toString(), builder);
+        root.commit();
+
+        //add content
+        Tree test = root.getTree("/").addChild("test");
+
+        test.addChild("nodea").setProperty("a", "hello");
+        test.addChild("nodeb").setProperty("a", "world");
+        test.addChild("nodec").setProperty("a", "hello world");
+        Tree d = test.addChild("noded");
+        d.setProperty("a", "hello");
+        d.setProperty("b", "world");
+        root.commit();
+
+        assertEventually(() -> {
+            assertQuery("//*[jcr:contains(., 'Hello')] ", XPATH, Arrays.asList("/test/nodea", "/test/nodec", "/test/noded"));
+            assertQuery("//*[jcr:contains(., 'hello world')] ", XPATH, Arrays.asList("/test/nodec", "/test/noded"));
+        });
+    }
+
     /*
         In ES we don't add a property data to :fulltext if both nodescope and analyzed is set on index. Instead we use a
         multimatch query with cross_fields
@@ -170,7 +196,7 @@ public class ElasticFullTextAsyncTest ex
 
         assertEventually(() -> {
             assertQuery("//*[jcr:contains(., 'Hello')] ", XPATH, Arrays.asList("/test/nodec", "/test/noded"));
-            assertQuery("//*[jcr:contains(., 'hello world')] ", XPATH, Arrays.asList("/test/nodec"));
+            assertQuery("//*[jcr:contains(., 'hello world')] ", XPATH, Collections.singletonList("/test/nodec"));
         });
     }