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 ng...@apache.org on 2020/04/16 15:51:18 UTC

svn commit: r1876610 - in /jackrabbit/oak/trunk: oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/util/ oak-search-elastic/src/main/java/org/apache/jackra...

Author: ngupta
Date: Thu Apr 16 15:51:18 2020
New Revision: 1876610

URL: http://svn.apache.org/viewvc?rev=1876610&view=rev
Log:
OAK-9004 | Multitenant index name strategy with reindex support (Some additional modifications - patch by Amrit Verma)

Added:
    jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/util/TestHelper.java   (with props)
Modified:
    jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithGlobalIndexSearchTest.java
    jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithoutGlobalIndexSearchTest.java
    jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTIndexedContentAvailability.java
    jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTSeparatedIndexedContentAvailability.java
    jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyTextSearchTest.java
    jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchConnection.java
    jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchIndexDefinition.java
    jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchPropertyIndexTest.java

Modified: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithGlobalIndexSearchTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithGlobalIndexSearchTest.java?rev=1876610&r1=1876609&r2=1876610&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithGlobalIndexSearchTest.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithGlobalIndexSearchTest.java Thu Apr 16 15:51:18 2020
@@ -23,6 +23,7 @@ package org.apache.jackrabbit.oak.benchm
 import org.apache.commons.io.FileUtils;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.benchmark.util.ElasticGlobalInitializer;
+import org.apache.jackrabbit.oak.benchmark.util.TestHelper;
 import org.apache.jackrabbit.oak.fixture.JcrCreator;
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
@@ -40,15 +41,16 @@ import java.io.File;
 public class ElasticFullTextWithGlobalIndexSearchTest extends SearchTest {
 
     private ElasticsearchConnection coordinate;
-    private final String ELASTIC_GLOBAL_INDEX = "elasticGlobal" + System.nanoTime();
+    private String ELASTIC_GLOBAL_INDEX;
 
-    public ElasticFullTextWithGlobalIndexSearchTest(File dump, boolean flat, boolean doReport, Boolean storageEnabled, ElasticsearchConnection coordinate) {
+    ElasticFullTextWithGlobalIndexSearchTest(File dump, boolean flat, boolean doReport, Boolean storageEnabled, ElasticsearchConnection coordinate) {
         super(dump, flat, doReport, storageEnabled);
         this.coordinate = coordinate;
     }
 
     @Override
     protected Repository[] createRepository(RepositoryFixture fixture) throws Exception {
+        ELASTIC_GLOBAL_INDEX = TestHelper.getUniqueIndexName("elasticGlobal");
         if (fixture instanceof OakRepositoryFixture) {
             return ((OakRepositoryFixture) fixture).setUpCluster(1, new JcrCreator() {
                 @Override

Modified: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithoutGlobalIndexSearchTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithoutGlobalIndexSearchTest.java?rev=1876610&r1=1876609&r2=1876610&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithoutGlobalIndexSearchTest.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithoutGlobalIndexSearchTest.java Thu Apr 16 15:51:18 2020
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.benchm
 
 import org.apache.commons.io.FileUtils;
 import org.apache.jackrabbit.oak.Oak;
+import org.apache.jackrabbit.oak.benchmark.util.TestHelper;
 import org.apache.jackrabbit.oak.fixture.JcrCreator;
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
@@ -42,7 +43,7 @@ public class ElasticFullTextWithoutGloba
 
     private ElasticsearchConnection coordinate;
 
-    public ElasticFullTextWithoutGlobalIndexSearchTest(File dump, boolean flat, boolean doReport, Boolean storageEnabled, ElasticsearchConnection coordinate) {
+    ElasticFullTextWithoutGlobalIndexSearchTest(File dump, boolean flat, boolean doReport, Boolean storageEnabled, ElasticsearchConnection coordinate) {
         super(dump, flat, doReport, storageEnabled);
         this.coordinate = coordinate;
     }
@@ -60,7 +61,7 @@ public class ElasticFullTextWithoutGloba
                             .with(indexProvider)
                             .with(new PropertyIndexEditorProvider())
                             .with(new NodeTypeIndexProvider())
-                            .with(new PropertyFullTextTest.FullTextPropertyInitialiser("elasticText" + System.nanoTime(), of("text"),
+                            .with(new PropertyFullTextTest.FullTextPropertyInitialiser(TestHelper.getUniqueIndexName("elasticText"), of("text"),
                                     ElasticsearchIndexDefinition.TYPE_ELASTICSEARCH).nodeScope().analyzed());
                     return new Jcr(oak);
                 }

Modified: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTIndexedContentAvailability.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTIndexedContentAvailability.java?rev=1876610&r1=1876609&r2=1876610&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTIndexedContentAvailability.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTIndexedContentAvailability.java Thu Apr 16 15:51:18 2020
@@ -20,6 +20,7 @@ package org.apache.jackrabbit.oak.benchm
 import org.apache.commons.io.FileUtils;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.benchmark.util.ElasticGlobalInitializer;
+import org.apache.jackrabbit.oak.benchmark.util.TestHelper;
 import org.apache.jackrabbit.oak.benchmark.wikipedia.WikipediaImport;
 import org.apache.jackrabbit.oak.fixture.JcrCreator;
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
@@ -66,7 +67,7 @@ public class ElasticPropertyFTIndexedCon
     private static final Logger LOG = LoggerFactory.getLogger(ElasticPropertyFTIndexedContentAvailability.class);
     private String currentFixtureName;
     private ElasticsearchConnection coordinate;
-    private final String ELASTIC_GLOBAL_INDEX = "elasticGlobal" + System.nanoTime();
+    private String ELASTIC_GLOBAL_INDEX;
 
     @Override
     public String getCurrentFixtureName() {
@@ -79,7 +80,7 @@ public class ElasticPropertyFTIndexedCon
     }
 
 
-    public ElasticPropertyFTIndexedContentAvailability(final File dump,
+    ElasticPropertyFTIndexedContentAvailability(final File dump,
                                                        final boolean flat,
                                                        final boolean doReport,
                                                        final Boolean storageEnabled, ElasticsearchConnection coordinate) {
@@ -89,6 +90,7 @@ public class ElasticPropertyFTIndexedCon
 
     @Override
     protected Repository[] createRepository(RepositoryFixture fixture) throws Exception {
+        ELASTIC_GLOBAL_INDEX = TestHelper.getUniqueIndexName("elasticGlobal");
         if (fixture instanceof OakRepositoryFixture) {
             currentFixtureName = fixture.toString();
             return ((OakRepositoryFixture) fixture).setUpCluster(1, new JcrCreator() {
@@ -101,7 +103,7 @@ public class ElasticPropertyFTIndexedCon
                             .with(indexProvider)
                             .with((new ElasticGlobalInitializer(ELASTIC_GLOBAL_INDEX, storageEnabled)).async())
                                     // the WikipediaImporter set a property `title`
-                            .with(new FullTextPropertyInitialiser("elasticTitle" + System.nanoTime(), of("title"),
+                            .with(new FullTextPropertyInitialiser(TestHelper.getUniqueIndexName("elasticTitle"), of("title"),
                                     ElasticsearchIndexDefinition.TYPE_ELASTICSEARCH).async())
                             .withAsyncIndexing("async", 5);
                     return new Jcr(oak);

Modified: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTSeparatedIndexedContentAvailability.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTSeparatedIndexedContentAvailability.java?rev=1876610&r1=1876609&r2=1876610&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTSeparatedIndexedContentAvailability.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTSeparatedIndexedContentAvailability.java Thu Apr 16 15:51:18 2020
@@ -22,6 +22,7 @@ package org.apache.jackrabbit.oak.benchm
 import org.apache.commons.io.FileUtils;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.benchmark.util.ElasticGlobalInitializer;
+import org.apache.jackrabbit.oak.benchmark.util.TestHelper;
 import org.apache.jackrabbit.oak.fixture.JcrCreator;
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
@@ -45,9 +46,9 @@ public class ElasticPropertyFTSeparatedI
 
     private String currentFixtureName;
     private ElasticsearchConnection coordinate;
-    private final String ELASTIC_GLOBAL_INDEX = "elasticGlobal" + System.nanoTime();
+    private String ELASTIC_GLOBAL_INDEX;
 
-    public ElasticPropertyFTSeparatedIndexedContentAvailability(final File dump,
+    ElasticPropertyFTSeparatedIndexedContentAvailability(final File dump,
                                                                 final boolean flat,
                                                                 final boolean doReport,
                                                                 final Boolean storageEnabled, ElasticsearchConnection coordinate) {
@@ -67,6 +68,7 @@ public class ElasticPropertyFTSeparatedI
 
     @Override
     protected Repository[] createRepository(RepositoryFixture fixture) throws Exception {
+        ELASTIC_GLOBAL_INDEX = TestHelper.getUniqueIndexName("elasticGlobal");
         if (fixture instanceof OakRepositoryFixture) {
             currentFixtureName = fixture.toString();
             return ((OakRepositoryFixture) fixture).setUpCluster(1, new JcrCreator() {
@@ -79,7 +81,7 @@ public class ElasticPropertyFTSeparatedI
                             .with(indexProvider)
                             .with((new ElasticGlobalInitializer(ELASTIC_GLOBAL_INDEX, storageEnabled)).async("fulltext-async"))
                                     // the WikipediaImporter set a property `title`
-                            .with(new FullTextPropertyInitialiser("elasticTitle" + System.nanoTime(), of("title"),
+                            .with(new FullTextPropertyInitialiser(TestHelper.getUniqueIndexName("elasticTitle"), of("title"),
                                     ElasticsearchIndexDefinition.TYPE_ELASTICSEARCH).async())
                             .withAsyncIndexing("async", 5)
                             .withAsyncIndexing("fulltext-async", 5);

Modified: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyTextSearchTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyTextSearchTest.java?rev=1876610&r1=1876609&r2=1876610&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyTextSearchTest.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyTextSearchTest.java Thu Apr 16 15:51:18 2020
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.benchm
 
 import org.apache.commons.io.FileUtils;
 import org.apache.jackrabbit.oak.Oak;
+import org.apache.jackrabbit.oak.benchmark.util.TestHelper;
 import org.apache.jackrabbit.oak.fixture.JcrCreator;
 import org.apache.jackrabbit.oak.fixture.OakRepositoryFixture;
 import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
@@ -43,7 +44,7 @@ public class ElasticPropertyTextSearchTe
 
     private ElasticsearchConnection coordinate;
 
-    public ElasticPropertyTextSearchTest(File dump, boolean flat, boolean doReport, Boolean storageEnabled, ElasticsearchConnection coordinate) {
+    ElasticPropertyTextSearchTest(File dump, boolean flat, boolean doReport, Boolean storageEnabled, ElasticsearchConnection coordinate) {
         super(dump, flat, doReport, storageEnabled);
         this.coordinate = coordinate;
     }
@@ -76,7 +77,7 @@ public class ElasticPropertyTextSearchTe
                             .with(indexProvider)
                             .with(new PropertyIndexEditorProvider())
                             .with(new NodeTypeIndexProvider())
-                            .with(new PropertyFullTextTest.FullTextPropertyInitialiser("elasticTitle" + System.nanoTime(), of("title"),
+                            .with(new PropertyFullTextTest.FullTextPropertyInitialiser(TestHelper.getUniqueIndexName("elasticTitle"), of("title"),
                                     ElasticsearchIndexDefinition.TYPE_ELASTICSEARCH));
                     return new Jcr(oak);
                 }

Added: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/util/TestHelper.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/util/TestHelper.java?rev=1876610&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/util/TestHelper.java (added)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/util/TestHelper.java Thu Apr 16 15:51:18 2020
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.jackrabbit.oak.benchmark.util;
+
+public class TestHelper {
+
+    /**
+     * Generates a unique index name from the given suggestion.
+     * @param name name suggestion
+     * @return unique index name
+     */
+    public static String getUniqueIndexName(String name) {
+        return name + System.currentTimeMillis();
+    }
+
+}

Propchange: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/util/TestHelper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchConnection.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchConnection.java?rev=1876610&r1=1876609&r2=1876610&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchConnection.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchConnection.java Thu Apr 16 15:51:18 2020
@@ -37,14 +37,14 @@ import java.util.function.Supplier;
  */
 public class ElasticsearchConnection implements Closeable {
 
-    protected static final String SCHEME_PROP = "elasticsearch.scheme";
-    protected static final String DEFAULT_SCHEME = "http";
-    protected static final String HOST_PROP = "elasticsearch.host";
-    protected static final String DEFAULT_HOST = "127.0.0.1";
-    protected static final String PORT_PROP = "elasticsearch.port";
-    protected static final int DEFAULT_PORT = 9200;
+    static final String SCHEME_PROP = "elasticsearch.scheme";
+    static final String DEFAULT_SCHEME = "http";
+    static final String HOST_PROP = "elasticsearch.host";
+    static final String DEFAULT_HOST = "127.0.0.1";
+    static final String PORT_PROP = "elasticsearch.port";
+    static final int DEFAULT_PORT = 9200;
 
-    protected static final Supplier<ElasticsearchConnection> defaultConnection = () ->
+    static final Supplier<ElasticsearchConnection> defaultConnection = () ->
             new ElasticsearchConnection(DEFAULT_SCHEME, DEFAULT_HOST, DEFAULT_PORT, "elastic");
 
     private String scheme;
@@ -57,9 +57,10 @@ public class ElasticsearchConnection imp
     private AtomicBoolean isClosed = new AtomicBoolean(false);
 
     public ElasticsearchConnection(String scheme, String host, Integer port, String indexPrefix) {
-        if (scheme == null || host == null || port == null || indexPrefix == null) {
-            throw new IllegalArgumentException();
-        }
+        Objects.requireNonNull(scheme, "Scheme is null");
+        Objects.requireNonNull(host, "Host is null");
+        Objects.requireNonNull(port, "Port is null");
+        Objects.requireNonNull(indexPrefix, "Index prefix is null");
         this.scheme = scheme;
         this.host = host;
         this.port = port;

Modified: jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchIndexDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchIndexDefinition.java?rev=1876610&r1=1876609&r2=1876610&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchIndexDefinition.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchIndexDefinition.java Thu Apr 16 15:51:18 2020
@@ -86,7 +86,7 @@ public class ElasticsearchIndexDefinitio
 
     private String setupIndexName() {
         // TODO: implement advanced remote index name strategy that takes into account multiple tenants and re-index process
-        return getESSafeIndexName(indexPrefix + getIndexPath() + "-" + getReindexCount());
+        return getESSafeIndexName(indexPrefix + "." + getIndexPath() + "-" + getReindexCount());
     }
 
     /**

Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchPropertyIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchPropertyIndexTest.java?rev=1876610&r1=1876609&r2=1876610&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchPropertyIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elasticsearch/ElasticsearchPropertyIndexTest.java Thu Apr 16 15:51:18 2020
@@ -78,7 +78,7 @@ public class ElasticsearchPropertyIndexT
                 ElasticsearchConnection.DEFAULT_SCHEME,
                 elastic.getContainerIpAddress(),
                 elastic.getMappedPort(ElasticsearchConnection.DEFAULT_PORT),
-                "" + System.nanoTime()
+                "" + System.currentTimeMillis()
         );
         ElasticsearchIndexEditorProvider editorProvider = new ElasticsearchIndexEditorProvider(coordinate,
                 new ExtractedTextCache(10 * FileUtils.ONE_MB, 100));