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"));
});
}