Author: fortino
Date: Sat Jun 27 20:24:53 2020
New Revision: 1879284
URL: http://svn.apache.org/viewvc?rev=1879284&view=rev
Log:
OAK-9123: add missing mapping for :fulltext
Modified:
jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/index/ElasticIndexHelper.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/index/ElasticIndexHelper.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/index/ElasticIndexHelper.java?rev=1879284&r1=1879283&r2=1879284&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/index/ElasticIndexHelper.java
(original)
+++
jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/index/ElasticIndexHelper.java
Sat Jun 27 20:24:53 2020
@@ -129,6 +129,11 @@ class ElasticIndexHelper {
mappingBuilder.startObject(FieldNames.PATH_DEPTH)
.field("type", "integer")
.endObject();
+ // TODO: to increase efficiency, we could potentially remove this and
use a multi match query when needed
+ mappingBuilder.startObject(FieldNames.FULLTEXT)
+ .field("type", "text")
+ .field("analyzer", "oak_analyzer")
+ .endObject();
// TODO: the mapping below is for features currently not supported.
These need to be reviewed
// when the specific features will be implemented
// mappingBuilder.startObject(FieldNames.SUGGEST)
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=1879284&r1=1879283&r2=1879284&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
Sat Jun 27 20:24:53 2020
@@ -111,7 +111,9 @@ public class ElasticFullTextAsyncTest ex
public void testDefaultAnalyzer() throws Exception {
IndexDefinitionBuilder builder = createIndex("analyzed_field");
builder.async("async");
- builder.indexRule("nt:base").property("analyzed_field").analyzed();
+ builder.indexRule("nt:base")
+ .property("analyzed_field")
+ .analyzed().nodeScopeIndex();
setIndex(UUID.randomUUID().toString(), builder);
root.commit();
@@ -123,8 +125,12 @@ public class ElasticFullTextAsyncTest ex
root.commit();
assertEventually(() -> {
+ assertQuery("//*[jcr:contains(@analyzed_field, 'SUN.JPG')] ",
XPATH, Collections.singletonList("/test/a"));
assertQuery("//*[jcr:contains(@analyzed_field, 'Sun')] ", XPATH,
Collections.singletonList("/test/a"));
assertQuery("//*[jcr:contains(@analyzed_field, 'jpg')] ", XPATH,
Collections.singletonList("/test/a"));
+ assertQuery("//*[jcr:contains(., 'SUN.jpg')] ", XPATH,
Collections.singletonList("/test/a"));
+ assertQuery("//*[jcr:contains(., 'sun')] ", XPATH,
Collections.singletonList("/test/a"));
+ assertQuery("//*[jcr:contains(., 'jpg')] ", XPATH,
Collections.singletonList("/test/a"));
});
}