diff --git a/pom.xml b/pom.xml
index a4ad2c39d..14734d8f2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
2.13.3
4.1.52.Final
2.6.0-SNAPSHOT
- 1.15.1
+ 1.15.3
1.0.6.RELEASE
spring.data.elasticsearch
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java
index 6d3489fbe..c0960ff1d 100755
--- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java
@@ -15,7 +15,10 @@
*/
package org.springframework.data.elasticsearch.core;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import org.elasticsearch.action.ActionFuture;
@@ -290,12 +293,21 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate {
public List doBulkOperation(List> queries, BulkOptions bulkOptions,
IndexCoordinates index) {
- BulkRequestBuilder bulkRequestBuilder = requestFactory.bulkRequestBuilder(client, queries, bulkOptions, index);
- bulkRequestBuilder = prepareWriteRequestBuilder(bulkRequestBuilder);
- final List indexedObjectInformations = checkForBulkOperationFailure(
- bulkRequestBuilder.execute().actionGet());
- updateIndexedObjectsWithQueries(queries, indexedObjectInformations);
- return indexedObjectInformations;
+
+ // do it in batches; test code on some machines kills the transport node when the size gets too much
+ Collection extends List>> queryLists = partitionBasedOnSize(queries, 2500);
+ List allIndexedObjectInformations = new ArrayList<>(queries.size());
+
+ queryLists.forEach(queryList -> {
+ BulkRequestBuilder bulkRequestBuilder = requestFactory.bulkRequestBuilder(client, queryList, bulkOptions, index);
+ bulkRequestBuilder = prepareWriteRequestBuilder(bulkRequestBuilder);
+ final List indexedObjectInformations = checkForBulkOperationFailure(
+ bulkRequestBuilder.execute().actionGet());
+ updateIndexedObjectsWithQueries(queryList, indexedObjectInformations);
+ allIndexedObjectInformations.addAll(indexedObjectInformations);
+ });
+
+ return allIndexedObjectInformations;
}
// endregion
@@ -411,6 +423,11 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate {
public Client getClient() {
return client;
}
+
+ Collection> partitionBasedOnSize(List inputList, int size) {
+ final AtomicInteger counter = new AtomicInteger(0);
+ return inputList.stream().collect(Collectors.groupingBy(s -> counter.getAndIncrement() / size)).values();
+ }
// endregion
/**
diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateTests.java
index b767fc4b0..481fcc046 100644
--- a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateTests.java
+++ b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplateTests.java
@@ -18,10 +18,8 @@ package org.springframework.data.elasticsearch.core;
import static org.assertj.core.api.Assertions.*;
import static org.elasticsearch.index.query.QueryBuilders.*;
import static org.skyscreamer.jsonassert.JSONAssert.*;
-import static org.springframework.data.elasticsearch.annotations.FieldType.*;
import static org.springframework.data.elasticsearch.utils.IdGenerator.*;
-import java.lang.Object;
import java.time.Duration;
import java.util.Collections;
import java.util.HashMap;
@@ -37,16 +35,16 @@ import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
import org.json.JSONException;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
-import org.springframework.data.annotation.Id;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
import org.springframework.data.elasticsearch.UncategorizedElasticsearchException;
-import org.springframework.data.elasticsearch.annotations.Document;
-import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
import org.springframework.data.elasticsearch.core.query.UpdateQuery;
import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration;
-import org.springframework.lang.Nullable;
+import org.springframework.data.elasticsearch.utils.IndexNameProvider;
import org.springframework.test.context.ContextConfiguration;
/**
@@ -64,10 +62,19 @@ import org.springframework.test.context.ContextConfiguration;
* @author Peter-Josef Meisch
* @author Farid Faoudi
*/
-@ContextConfiguration(classes = { ElasticsearchRestTemplateConfiguration.class })
+@ContextConfiguration(classes = { ElasticsearchRestTemplateTests.Config.class })
@DisplayName("ElasticsearchRestTemplate")
public class ElasticsearchRestTemplateTests extends ElasticsearchTemplateTests {
+ @Configuration
+ @Import({ ElasticsearchRestTemplateConfiguration.class })
+ static class Config {
+ @Bean
+ IndexNameProvider indexNameProvider() {
+ return new IndexNameProvider("rest-template");
+ }
+ }
+
@Test
public void shouldThrowExceptionIfDocumentDoesNotExistWhileDoingPartialUpdate() {
@@ -75,35 +82,10 @@ public class ElasticsearchRestTemplateTests extends ElasticsearchTemplateTests {
org.springframework.data.elasticsearch.core.document.Document document = org.springframework.data.elasticsearch.core.document.Document
.create();
UpdateQuery updateQuery = UpdateQuery.builder(nextIdAsString()).withDocument(document).build();
- assertThatThrownBy(() -> operations.update(updateQuery, index))
+ assertThatThrownBy(() -> operations.update(updateQuery, IndexCoordinates.of(indexNameProvider.indexName())))
.isInstanceOf(UncategorizedElasticsearchException.class);
}
- @Document(indexName = "test-index-sample-core-rest-template")
- static class SampleEntity {
- @Nullable @Id private String id;
- @Nullable
- @Field(type = Text, store = true, fielddata = true) private String type;
-
- @Nullable
- public String getId() {
- return id;
- }
-
- public void setId(@Nullable String id) {
- this.id = id;
- }
-
- @Nullable
- public String getType() {
- return type;
- }
-
- public void setType(@Nullable String type) {
- this.type = type;
- }
- }
-
@Test // DATAES-768
void shouldUseAllOptionsFromUpdateQuery() {
Map doc = new HashMap<>();
diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java
index 1e9b4a27a..831de08e8 100755
--- a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java
+++ b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java
@@ -65,6 +65,7 @@ import org.elasticsearch.search.sort.SortBuilders;
import org.elasticsearch.search.sort.SortOrder;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.InvalidDataAccessApiUsageException;
@@ -74,7 +75,6 @@ import org.springframework.data.annotation.Version;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
-import org.springframework.data.domain.Sort.Order;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
@@ -94,6 +94,7 @@ import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
import org.springframework.data.elasticsearch.core.query.*;
import org.springframework.data.elasticsearch.core.query.RescorerQuery.ScoreMode;
import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest;
+import org.springframework.data.elasticsearch.utils.IndexNameProvider;
import org.springframework.data.util.StreamUtils;
import org.springframework.lang.Nullable;
@@ -127,35 +128,27 @@ import org.springframework.lang.Nullable;
@SpringIntegrationTest
public abstract class ElasticsearchTemplateTests {
- protected static final String INDEX_NAME_JOIN_SAMPLE_ENTITY = "test-index-sample-join-template";
- private static final String INDEX_NAME_SAMPLE_ENTITY = "test-index-sample-core-template";
private static final String INDEX_1_NAME = "test-index-1";
private static final String INDEX_2_NAME = "test-index-2";
private static final String INDEX_3_NAME = "test-index-3";
- protected final IndexCoordinates index = IndexCoordinates.of(INDEX_NAME_SAMPLE_ENTITY);
+
@Autowired protected ElasticsearchOperations operations;
- protected IndexOperations indexOperations;
+ private IndexOperations indexOperations;
+
+ @Autowired protected IndexNameProvider indexNameProvider;
@BeforeEach
public void before() {
+
+ indexNameProvider.increment();
indexOperations = operations.indexOps(SampleEntity.class);
+ indexOperations.createWithMapping();
+ }
+ @Test
+ @Order(java.lang.Integer.MAX_VALUE)
+ void cleanup() {
operations.indexOps(IndexCoordinates.of("*")).delete();
-
- indexOperations.create();
- indexOperations.putMapping(SampleEntity.class);
-
- IndexOperations indexOpsSampleEntityUUIDKeyed = operations.indexOps(SampleEntityUUIDKeyed.class);
- indexOpsSampleEntityUUIDKeyed.create();
- indexOpsSampleEntityUUIDKeyed.putMapping(SampleEntityUUIDKeyed.class);
-
- IndexOperations indexOpsSearchHitsEntity = operations.indexOps(SearchHitsEntity.class);
- indexOpsSearchHitsEntity.create();
- indexOpsSearchHitsEntity.putMapping(SearchHitsEntity.class);
-
- IndexOperations indexOpsJoinEntity = operations.indexOps(SampleJoinEntity.class);
- indexOpsJoinEntity.create();
- indexOpsJoinEntity.putMapping(SampleJoinEntity.class);
}
@Test // DATAES-106
@@ -167,13 +160,14 @@ public abstract class ElasticsearchTemplateTests {
.version(System.currentTimeMillis()).build();
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
+
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria());
// when
- long count = operations.count(criteriaQuery, SampleEntity.class, index);
+ long count = operations.count(criteriaQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(count).isEqualTo(1);
@@ -188,14 +182,14 @@ public abstract class ElasticsearchTemplateTests {
.version(System.currentTimeMillis()).build();
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
+
;
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build();
// when
- long count = operations.count(searchQuery, SampleEntity.class, index);
+ long count = operations.count(searchQuery, SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(count).isEqualTo(1);
}
@@ -208,10 +202,11 @@ public abstract class ElasticsearchTemplateTests {
SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message("some message")
.version(System.currentTimeMillis()).build();
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
// when
- SampleEntity sampleEntity1 = operations.get(documentId, SampleEntity.class, index);
+ SampleEntity sampleEntity1 = operations.get(documentId, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(sampleEntity1).isEqualTo(sampleEntity);
@@ -233,12 +228,12 @@ public abstract class ElasticsearchTemplateTests {
List indexQueries = getIndexQueries(Arrays.asList(sampleEntity1, sampleEntity2));
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
// when
NativeSearchQuery query = new NativeSearchQueryBuilder().withIds(Arrays.asList(documentId, documentId2)).build();
- List> sampleEntities = operations.multiGet(query, SampleEntity.class, index);
+ List> sampleEntities = operations.multiGet(query, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(sampleEntities).hasSize(2);
@@ -262,15 +257,15 @@ public abstract class ElasticsearchTemplateTests {
List indexQueries = getIndexQueries(Arrays.asList(sampleEntity1, sampleEntity2));
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
// when
List idsToSearch = Arrays.asList(documentId, nextIdAsString(), documentId2);
assertThat(idsToSearch).hasSize(3);
NativeSearchQuery query = new NativeSearchQueryBuilder().withIds(idsToSearch).build();
- List> sampleEntities = operations.multiGet(query, SampleEntity.class, index);
+ List> sampleEntities = operations.multiGet(query, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(sampleEntities).hasSize(3);
@@ -309,13 +304,13 @@ public abstract class ElasticsearchTemplateTests {
List indexQueries = getIndexQueries(Arrays.asList(sampleEntity1, sampleEntity2));
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
// when
NativeSearchQuery query = new NativeSearchQueryBuilder().withIds(Arrays.asList(documentId, documentId2))
.withFields("message", "type").build();
- List> sampleEntities = operations.multiGet(query, SampleEntity.class, index);
+ List> sampleEntities = operations.multiGet(query, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(sampleEntities).hasSize(2);
@@ -331,13 +326,13 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build();
// when
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits).isNotNull();
@@ -355,14 +350,14 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
NativeSearchQuery searchQueryWithValidPreference = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
.withPreference("_local").build();
// when
- SearchHits searchHits = operations.search(searchQueryWithValidPreference, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQueryWithValidPreference, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits).isNotNull();
@@ -379,15 +374,14 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
NativeSearchQuery searchQueryWithInvalidPreference = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
.withPreference("_only_nodes:oops").build();
// when
- assertThatThrownBy(() -> operations.search(searchQueryWithInvalidPreference, SampleEntity.class, index))
- .isInstanceOf(Exception.class);
+ assertThatThrownBy(() -> operations.search(searchQueryWithInvalidPreference, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()))).isInstanceOf(Exception.class);
}
@Test // DATAES-422 - Add support for IndicesOptions in search queries
@@ -432,13 +426,13 @@ public abstract class ElasticsearchTemplateTests {
.version(System.currentTimeMillis()).build();
indexQueries = getIndexQueries(Arrays.asList(sampleEntity1, sampleEntity2));
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build();
// when
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isEqualTo(2);
@@ -457,8 +451,7 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
org.springframework.data.elasticsearch.core.document.Document document = org.springframework.data.elasticsearch.core.document.Document
.create();
@@ -471,10 +464,11 @@ public abstract class ElasticsearchTemplateTests {
queries.add(updateQuery);
// when
- operations.bulkUpdate(queries, index);
+ operations.bulkUpdate(queries, IndexCoordinates.of(indexNameProvider.indexName()));
// then
- SampleEntity indexedEntity = operations.get(documentId, SampleEntity.class, index);
+ SampleEntity indexedEntity = operations.get(documentId, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(indexedEntity.getMessage()).isEqualTo(messageAfterUpdate);
}
@@ -488,15 +482,15 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
// when
- operations.delete(documentId, index);
- indexOperations.refresh();
+ operations.delete(documentId, IndexCoordinates.of(indexNameProvider.indexName()));
// then
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build();
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(searchHits.getTotalHits()).isEqualTo(0);
}
@@ -511,15 +505,15 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
// when
- operations.delete(documentId, index);
- indexOperations.refresh();
+ operations.delete(documentId, IndexCoordinates.of(indexNameProvider.indexName()));
// then
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build();
- SearchHits sampleEntities = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits sampleEntities = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(sampleEntities.getTotalHits()).isEqualTo(0);
}
@@ -533,17 +527,16 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
// when
Query query = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build();
- operations.delete(query, SampleEntity.class, index);
- indexOperations.refresh();
+ operations.delete(query, SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
// then
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build();
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(searchHits.getTotalHits()).isEqualTo(0);
}
@@ -621,14 +614,14 @@ public abstract class ElasticsearchTemplateTests {
.version(System.currentTimeMillis()).build();
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
.withFilter(boolQuery().filter(termQuery("id", documentId))).build();
// when
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isEqualTo(1);
@@ -656,14 +649,14 @@ public abstract class ElasticsearchTemplateTests {
indexQueries = getIndexQueries(Arrays.asList(sampleEntity1, sampleEntity2, sampleEntity3));
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
.withSort(new FieldSortBuilder("rate").order(SortOrder.ASC)).build();
// when
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isEqualTo(3);
@@ -692,15 +685,15 @@ public abstract class ElasticsearchTemplateTests {
indexQueries = getIndexQueries(Arrays.asList(sampleEntity1, sampleEntity2, sampleEntity3));
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
.withSort(new FieldSortBuilder("rate").order(SortOrder.ASC))
.withSort(new FieldSortBuilder("message").order(SortOrder.ASC)).build();
// when
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isEqualTo(3);
@@ -731,14 +724,14 @@ public abstract class ElasticsearchTemplateTests {
indexQueries = getIndexQueries(Arrays.asList(sampleEntity1, sampleEntity2, sampleEntity3));
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
.withPageable(PageRequest.of(0, 10, Sort.by(Sort.Order.asc("message").nullsFirst()))).build();
// when
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isEqualTo(3);
@@ -769,14 +762,14 @@ public abstract class ElasticsearchTemplateTests {
indexQueries = getIndexQueries(Arrays.asList(sampleEntity1, sampleEntity2, sampleEntity3));
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
.withPageable(PageRequest.of(0, 10, Sort.by(Sort.Order.asc("message").nullsLast()))).build();
// when
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isEqualTo(3);
@@ -793,8 +786,7 @@ public abstract class ElasticsearchTemplateTests {
SampleEntity.builder().id("2").message("yellow green").build(), //
SampleEntity.builder().id("3").message("blue").build());
- operations.bulkIndex(getIndexQueries(entities), index);
- indexOperations.refresh();
+ operations.bulkIndex(getIndexQueries(entities), IndexCoordinates.of(indexNameProvider.indexName()));
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() //
.withQuery(matchQuery("message", "green")) //
@@ -802,7 +794,8 @@ public abstract class ElasticsearchTemplateTests {
.build();
// when
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isEqualTo(2);
@@ -820,13 +813,13 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
StringQuery stringQuery = new StringQuery(matchAllQuery().toString());
// when
- SearchHits searchHits = operations.search(stringQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(stringQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isEqualTo(1);
@@ -847,8 +840,7 @@ public abstract class ElasticsearchTemplateTests {
indexQuery.setId(documentId);
indexQuery.setObject(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
Map params = new HashMap<>();
params.put("factor", 2);
@@ -857,7 +849,8 @@ public abstract class ElasticsearchTemplateTests {
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withScriptField(
new ScriptField("scriptedRate", new Script(ScriptType.INLINE, "expression", "doc['rate'] * factor", params)))
.build();
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isEqualTo(1);
@@ -874,13 +867,13 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
StringQuery stringQuery = new StringQuery(matchAllQuery().toString(), PageRequest.of(0, 10));
// when
- SearchHits searchHits = operations.search(stringQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(stringQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isGreaterThanOrEqualTo(1);
@@ -900,14 +893,14 @@ public abstract class ElasticsearchTemplateTests {
indexQuery.setId(documentId);
indexQuery.setObject(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
StringQuery stringQuery = new StringQuery(matchAllQuery().toString(), PageRequest.of(0, 10),
- Sort.by(Order.asc("message")));
+ Sort.by(Sort.Order.asc("message")));
// when
- SearchHits searchHits = operations.search(stringQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(stringQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isGreaterThanOrEqualTo(1);
@@ -923,13 +916,13 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
StringQuery stringQuery = new StringQuery(termQuery("id", documentId).toString());
// when
- SearchHit sampleEntity1 = operations.searchOne(stringQuery, SampleEntity.class, index);
+ SearchHit sampleEntity1 = operations.searchOne(stringQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(sampleEntity1).isNotNull();
@@ -958,12 +951,13 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
+
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("message").contains("test"));
// when
- SearchHit sampleEntity1 = operations.searchOne(criteriaQuery, SampleEntity.class, index);
+ SearchHit sampleEntity1 = operations.searchOne(criteriaQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(sampleEntity1).isNotNull();
@@ -979,17 +973,17 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
+
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("message").contains("test"));
// when
- operations.delete(criteriaQuery, SampleEntity.class, index);
- indexOperations.refresh();
+ operations.delete(criteriaQuery, SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
// then
StringQuery stringQuery = new StringQuery(matchAllQuery().toString());
- SearchHits sampleEntities = operations.search(stringQuery, SampleEntity.class, index);
+ SearchHits sampleEntities = operations.search(stringQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(sampleEntities).isEmpty();
}
@@ -1005,8 +999,7 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
FetchSourceFilterBuilder sourceFilter = new FetchSourceFilterBuilder();
sourceFilter.withIncludes("message");
@@ -1015,7 +1008,8 @@ public abstract class ElasticsearchTemplateTests {
.withSourceFilter(sourceFilter.build()).build();
// when
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits).isNotNull();
@@ -1039,15 +1033,14 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
String documentId2 = nextIdAsString();
operations.index(
getIndexQuery(
SampleEntity.builder().id(documentId2).message(sampleMessage).version(System.currentTimeMillis()).build()),
- index);
- indexOperations.refresh();
+ IndexCoordinates.of(indexNameProvider.indexName()));
MoreLikeThisQuery moreLikeThisQuery = new MoreLikeThisQuery();
moreLikeThisQuery.setId(documentId2);
@@ -1055,7 +1048,8 @@ public abstract class ElasticsearchTemplateTests {
moreLikeThisQuery.setMinDocFreq(1);
// when
- SearchHits searchHits = operations.search(moreLikeThisQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(moreLikeThisQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isEqualTo(1);
@@ -1079,8 +1073,7 @@ public abstract class ElasticsearchTemplateTests {
ids.stream()
.map(id -> getIndexQuery(
SampleEntity.builder().id(id).message(sampleMessage).version(System.currentTimeMillis()).build()))
- .forEach(indexQuery -> operations.index(indexQuery, index));
- indexOperations.refresh();
+ .forEach(indexQuery -> operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName())));
MoreLikeThisQuery moreLikeThisQuery = new MoreLikeThisQuery();
moreLikeThisQuery.setId(referenceId);
@@ -1088,7 +1081,8 @@ public abstract class ElasticsearchTemplateTests {
moreLikeThisQuery.setMinDocFreq(1);
moreLikeThisQuery.setPageable(PageRequest.of(0, 5));
- SearchHits searchHits = operations.search(moreLikeThisQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(moreLikeThisQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(searchHits.getTotalHits()).isEqualTo(10);
assertThat(searchHits.getSearchHits()).hasSize(5);
@@ -1098,7 +1092,8 @@ public abstract class ElasticsearchTemplateTests {
moreLikeThisQuery.setPageable(PageRequest.of(1, 5));
- searchHits = operations.search(moreLikeThisQuery, SampleEntity.class, index);
+ searchHits = operations.search(moreLikeThisQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(searchHits.getTotalHits()).isEqualTo(10);
assertThat(searchHits.getSearchHits()).hasSize(5);
@@ -1116,20 +1111,19 @@ public abstract class ElasticsearchTemplateTests {
List entities = createSampleEntitiesWithMessage("Test message", 30);
// when
- operations.bulkIndex(entities, index);
- indexOperations.refresh();
+ operations.bulkIndex(entities, IndexCoordinates.of(indexNameProvider.indexName()));
// then
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria());
criteriaQuery.setPageable(PageRequest.of(0, 10));
SearchScrollHits scroll = ((AbstractElasticsearchTemplate) operations).searchScrollStart(1000,
- criteriaQuery, SampleEntity.class, index);
+ criteriaQuery, SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
List> sampleEntities = new ArrayList<>();
while (scroll.hasSearchHits()) {
sampleEntities.addAll(scroll.getSearchHits());
scroll = ((AbstractElasticsearchTemplate) operations).searchScrollContinue(scroll.getScrollId(), 1000,
- SampleEntity.class, index);
+ SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
}
((AbstractElasticsearchTemplate) operations).searchScrollClear(scroll.getScrollId());
assertThat(sampleEntities).hasSize(30);
@@ -1142,8 +1136,7 @@ public abstract class ElasticsearchTemplateTests {
List entities = createSampleEntitiesWithMessage("Test message", 30);
// when
- operations.bulkIndex(entities, index);
- indexOperations.refresh();
+ operations.bulkIndex(entities, IndexCoordinates.of(indexNameProvider.indexName()));
// then
@@ -1151,12 +1144,12 @@ public abstract class ElasticsearchTemplateTests {
.withPageable(PageRequest.of(0, 10)).build();
SearchScrollHits scroll = ((AbstractElasticsearchTemplate) operations).searchScrollStart(1000,
- searchQuery, SampleEntity.class, index);
+ searchQuery, SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
List> sampleEntities = new ArrayList<>();
while (scroll.hasSearchHits()) {
sampleEntities.addAll(scroll.getSearchHits());
scroll = ((AbstractElasticsearchTemplate) operations).searchScrollContinue(scroll.getScrollId(), 1000,
- SampleEntity.class, index);
+ SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
}
((AbstractElasticsearchTemplate) operations).searchScrollClear(scroll.getScrollId());
assertThat(sampleEntities).hasSize(30);
@@ -1169,8 +1162,7 @@ public abstract class ElasticsearchTemplateTests {
List entities = createSampleEntitiesWithMessage("Test message", 30);
// when
- operations.bulkIndex(entities, index);
- indexOperations.refresh();
+ operations.bulkIndex(entities, IndexCoordinates.of(indexNameProvider.indexName()));
// then
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria());
@@ -1178,14 +1170,14 @@ public abstract class ElasticsearchTemplateTests {
criteriaQuery.setPageable(PageRequest.of(0, 10));
SearchScrollHits scroll = ((AbstractElasticsearchTemplate) operations).searchScrollStart(1000,
- criteriaQuery, SampleEntity.class, index);
+ criteriaQuery, SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
String scrollId = scroll.getScrollId();
List> sampleEntities = new ArrayList<>();
while (scroll.hasSearchHits()) {
sampleEntities.addAll(scroll.getSearchHits());
scrollId = scroll.getScrollId();
scroll = ((AbstractElasticsearchTemplate) operations).searchScrollContinue(scrollId, 1000, SampleEntity.class,
- index);
+ IndexCoordinates.of(indexNameProvider.indexName()));
}
((AbstractElasticsearchTemplate) operations).searchScrollClear(scrollId);
assertThat(sampleEntities).hasSize(30);
@@ -1198,22 +1190,21 @@ public abstract class ElasticsearchTemplateTests {
List entities = createSampleEntitiesWithMessage("Test message", 30);
// when
- operations.bulkIndex(entities, index);
- indexOperations.refresh();
+ operations.bulkIndex(entities, IndexCoordinates.of(indexNameProvider.indexName()));
// then
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withFields("message")
.withQuery(matchAllQuery()).withPageable(PageRequest.of(0, 10)).build();
SearchScrollHits scroll = ((AbstractElasticsearchTemplate) operations).searchScrollStart(1000,
- searchQuery, SampleEntity.class, index);
+ searchQuery, SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
String scrollId = scroll.getScrollId();
List> sampleEntities = new ArrayList<>();
while (scroll.hasSearchHits()) {
sampleEntities.addAll(scroll.getSearchHits());
scrollId = scroll.getScrollId();
scroll = ((AbstractElasticsearchTemplate) operations).searchScrollContinue(scrollId, 1000, SampleEntity.class,
- index);
+ IndexCoordinates.of(indexNameProvider.indexName()));
}
((AbstractElasticsearchTemplate) operations).searchScrollClear(scrollId);
assertThat(sampleEntities).hasSize(30);
@@ -1226,22 +1217,21 @@ public abstract class ElasticsearchTemplateTests {
List entities = createSampleEntitiesWithMessage("Test message", 30);
// when
- operations.bulkIndex(entities, index);
- indexOperations.refresh();
+ operations.bulkIndex(entities, IndexCoordinates.of(indexNameProvider.indexName()));
// then
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria());
criteriaQuery.setPageable(PageRequest.of(0, 10));
SearchScrollHits scroll = ((AbstractElasticsearchTemplate) operations).searchScrollStart(1000,
- criteriaQuery, SampleEntity.class, index);
+ criteriaQuery, SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
String scrollId = scroll.getScrollId();
List> sampleEntities = new ArrayList<>();
while (scroll.hasSearchHits()) {
sampleEntities.addAll(scroll.getSearchHits());
scrollId = scroll.getScrollId();
scroll = ((AbstractElasticsearchTemplate) operations).searchScrollContinue(scrollId, 1000, SampleEntity.class,
- index);
+ IndexCoordinates.of(indexNameProvider.indexName()));
}
((AbstractElasticsearchTemplate) operations).searchScrollClear(scrollId);
assertThat(sampleEntities).hasSize(30);
@@ -1254,22 +1244,21 @@ public abstract class ElasticsearchTemplateTests {
List entities = createSampleEntitiesWithMessage("Test message", 30);
// when
- operations.bulkIndex(entities, index);
- indexOperations.refresh();
+ operations.bulkIndex(entities, IndexCoordinates.of(indexNameProvider.indexName()));
// then
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
.withPageable(PageRequest.of(0, 10)).build();
SearchScrollHits scroll = ((AbstractElasticsearchTemplate) operations).searchScrollStart(1000,
- searchQuery, SampleEntity.class, index);
+ searchQuery, SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
String scrollId = scroll.getScrollId();
List> sampleEntities = new ArrayList<>();
while (scroll.hasSearchHits()) {
sampleEntities.addAll(scroll.getSearchHits());
scrollId = scroll.getScrollId();
scroll = ((AbstractElasticsearchTemplate) operations).searchScrollContinue(scrollId, 1000, SampleEntity.class,
- index);
+ IndexCoordinates.of(indexNameProvider.indexName()));
}
((AbstractElasticsearchTemplate) operations).searchScrollClear(scrollId);
assertThat(sampleEntities).hasSize(30);
@@ -1282,22 +1271,21 @@ public abstract class ElasticsearchTemplateTests {
List entities = createSampleEntitiesWithMessage("Test message", 30);
// when
- operations.bulkIndex(entities, index);
- indexOperations.refresh();
+ operations.bulkIndex(entities, IndexCoordinates.of(indexNameProvider.indexName()));
// then
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria());
criteriaQuery.setPageable(PageRequest.of(0, 10));
SearchScrollHits scroll = ((AbstractElasticsearchTemplate) operations).searchScrollStart(1000,
- criteriaQuery, SampleEntity.class, index);
+ criteriaQuery, SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
String scrollId = scroll.getScrollId();
List> sampleEntities = new ArrayList<>();
while (scroll.hasSearchHits()) {
sampleEntities.addAll(scroll.getSearchHits());
scrollId = scroll.getScrollId();
scroll = ((AbstractElasticsearchTemplate) operations).searchScrollContinue(scrollId, 1000, SampleEntity.class,
- index);
+ IndexCoordinates.of(indexNameProvider.indexName()));
}
((AbstractElasticsearchTemplate) operations).searchScrollClear(scrollId);
assertThat(sampleEntities).hasSize(30);
@@ -1310,22 +1298,21 @@ public abstract class ElasticsearchTemplateTests {
List entities = createSampleEntitiesWithMessage("Test message", 30);
// when
- operations.bulkIndex(entities, index);
- indexOperations.refresh();
+ operations.bulkIndex(entities, IndexCoordinates.of(indexNameProvider.indexName()));
// then
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
.withPageable(PageRequest.of(0, 10)).build();
SearchScrollHits scroll = ((AbstractElasticsearchTemplate) operations).searchScrollStart(1000,
- searchQuery, SampleEntity.class, index);
+ searchQuery, SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
String scrollId = scroll.getScrollId();
List> sampleEntities = new ArrayList<>();
while (scroll.hasSearchHits()) {
sampleEntities.addAll(scroll.getSearchHits());
scrollId = scroll.getScrollId();
scroll = ((AbstractElasticsearchTemplate) operations).searchScrollContinue(scrollId, 1000, SampleEntity.class,
- index);
+ IndexCoordinates.of(indexNameProvider.indexName()));
}
((AbstractElasticsearchTemplate) operations).searchScrollClear(scrollId);
assertThat(sampleEntities).hasSize(30);
@@ -1334,13 +1321,14 @@ public abstract class ElasticsearchTemplateTests {
@Test // DATAES-167, DATAES-831
public void shouldReturnAllResultsWithStreamForGivenCriteriaQuery() {
- operations.bulkIndex(createSampleEntitiesWithMessage("Test message", 30), index);
- indexOperations.refresh();
+ operations.bulkIndex(createSampleEntitiesWithMessage("Test message", 30),
+ IndexCoordinates.of(indexNameProvider.indexName()));
+
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria());
criteriaQuery.setPageable(PageRequest.of(0, 10));
- long count = StreamUtils
- .createStreamFromIterator(operations.searchForStream(criteriaQuery, SampleEntity.class, index)).count();
+ long count = StreamUtils.createStreamFromIterator(operations.searchForStream(criteriaQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()))).count();
assertThat(count).isEqualTo(30);
}
@@ -1348,14 +1336,14 @@ public abstract class ElasticsearchTemplateTests {
@Test // DATAES-831
void shouldLimitStreamResultToRequestedSize() {
- operations.bulkIndex(createSampleEntitiesWithMessage("Test message", 30), index);
- indexOperations.refresh();
+ operations.bulkIndex(createSampleEntitiesWithMessage("Test message", 30),
+ IndexCoordinates.of(indexNameProvider.indexName()));
CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria());
criteriaQuery.setMaxResults(10);
- long count = StreamUtils
- .createStreamFromIterator(operations.searchForStream(criteriaQuery, SampleEntity.class, index)).count();
+ long count = StreamUtils.createStreamFromIterator(operations.searchForStream(criteriaQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()))).count();
assertThat(count).isEqualTo(10);
}
@@ -1400,16 +1388,15 @@ public abstract class ElasticsearchTemplateTests {
indexQueries = getIndexQueries(Arrays.asList(sampleEntity1, sampleEntity2, sampleEntity3));
// when
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
CriteriaQuery singleCriteriaQuery = new CriteriaQuery(new Criteria("message").contains("test"));
CriteriaQuery multipleCriteriaQuery = new CriteriaQuery(
new Criteria("message").contains("some").and("message").contains("message"));
SearchHits sampleEntitiesForSingleCriteria = operations.search(singleCriteriaQuery,
- SampleEntity.class, index);
+ SampleEntity.class, IndexCoordinates.of(indexNameProvider.indexName()));
SearchHits sampleEntitiesForAndCriteria = operations.search(multipleCriteriaQuery, SampleEntity.class,
- index);
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(sampleEntitiesForSingleCriteria).hasSize(2);
assertThat(sampleEntitiesForAndCriteria).hasSize(1);
@@ -1437,11 +1424,11 @@ public abstract class ElasticsearchTemplateTests {
List indexQueries = getIndexQueries(Arrays.asList(sampleEntity1, sampleEntity2, sampleEntity3));
// when
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
StringQuery stringQuery = new StringQuery(matchAllQuery().toString());
- SearchHits sampleEntities = operations.search(stringQuery, SampleEntity.class, index);
+ SearchHits sampleEntities = operations.search(stringQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(sampleEntities).hasSize(3);
@@ -1482,12 +1469,14 @@ public abstract class ElasticsearchTemplateTests {
@DisplayName("should read mappings from alias")
void shouldReadMappingsFromAlias() {
- String aliasName = INDEX_NAME_SAMPLE_ENTITY + "alias";
+ String indexName = indexNameProvider.indexName();
+ String aliasName = "alias-" + indexName;
+
indexOperations.alias( //
new AliasActions( //
new AliasAction.Add( //
AliasActionParameters.builder() //
- .withIndices(INDEX_NAME_SAMPLE_ENTITY) //
+ .withIndices(indexName) //
.withAliases(aliasName) //
.build()) //
) //
@@ -1528,8 +1517,7 @@ public abstract class ElasticsearchTemplateTests {
IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
org.springframework.data.elasticsearch.core.document.Document document = org.springframework.data.elasticsearch.core.document.Document
.create();
@@ -1539,10 +1527,11 @@ public abstract class ElasticsearchTemplateTests {
.build();
// when
- operations.update(updateQuery, index);
+ operations.update(updateQuery, IndexCoordinates.of(indexNameProvider.indexName()));
// then
- SampleEntity indexedEntity = operations.get(documentId, SampleEntity.class, index);
+ SampleEntity indexedEntity = operations.get(documentId, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(indexedEntity.getMessage()).isEqualTo(messageAfterUpdate);
}
@@ -1558,8 +1547,7 @@ public abstract class ElasticsearchTemplateTests {
final IndexQuery indexQuery = getIndexQuery(sampleEntity);
- operations.index(indexQuery, index);
- indexOperations.refresh();
+ operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
final NativeSearchQuery query = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build();
@@ -1570,10 +1558,11 @@ public abstract class ElasticsearchTemplateTests {
.build();
// when
- operations.updateByQuery(updateQuery, index);
+ operations.updateByQuery(updateQuery, IndexCoordinates.of(indexNameProvider.indexName()));
// then
- SampleEntity indexedEntity = operations.get(documentId, SampleEntity.class, index);
+ SampleEntity indexedEntity = operations.get(documentId, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(indexedEntity.getMessage()).isEqualTo(messageAfterUpdate);
}
@@ -1638,10 +1627,11 @@ public abstract class ElasticsearchTemplateTests {
.build();
// when
- operations.update(updateQuery, index);
+ operations.update(updateQuery, IndexCoordinates.of(indexNameProvider.indexName()));
// then
- SampleEntity indexedEntity = operations.get(documentId, SampleEntity.class, index);
+ SampleEntity indexedEntity = operations.get(documentId, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(indexedEntity.getMessage()).isEqualTo("test message");
}
@@ -1658,7 +1648,6 @@ public abstract class ElasticsearchTemplateTests {
IndexCoordinates index = IndexCoordinates.of(INDEX_1_NAME);
operations.index(idxQuery, index);
- operations.indexOps(index).refresh();
// when
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery())
@@ -1691,8 +1680,7 @@ public abstract class ElasticsearchTemplateTests {
indexQueries.add(buildIndex(SampleEntity.builder().id("2").message("bc").build()));
indexQueries.add(buildIndex(SampleEntity.builder().id("3").message("ac").build()));
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
// when
List queries = new ArrayList<>();
@@ -1702,7 +1690,8 @@ public abstract class ElasticsearchTemplateTests {
queries.add(new NativeSearchQueryBuilder().withQuery(termQuery("message", "ac")).build());
// then
- List> searchHits = operations.multiSearch(queries, SampleEntity.class, index);
+ List> searchHits = operations.multiSearch(queries, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
for (SearchHits sampleEntity : searchHits) {
assertThat(sampleEntity.getTotalHits()).isEqualTo(1);
}
@@ -1721,9 +1710,10 @@ public abstract class ElasticsearchTemplateTests {
IndexCoordinates bookIndex = IndexCoordinates.of("test-index-book-core-template");
- operations.index(buildIndex(SampleEntity.builder().id("1").message("ab").build()), index);
+ operations.index(buildIndex(SampleEntity.builder().id("1").message("ab").build()),
+ IndexCoordinates.of(indexNameProvider.indexName()));
operations.index(buildIndex(Book.builder().id("2").description("bc").build()), bookIndex);
- indexOperations.refresh();
+
bookIndexOperations.refresh();
// when
@@ -1732,7 +1722,7 @@ public abstract class ElasticsearchTemplateTests {
queries.add(new NativeSearchQueryBuilder().withQuery(termQuery("description", "bc")).build());
List> searchHitsList = operations.multiSearch(queries, Lists.newArrayList(SampleEntity.class, clazz),
- IndexCoordinates.of(index.getIndexName(), bookIndex.getIndexName()));
+ IndexCoordinates.of(indexNameProvider.indexName(), bookIndex.getIndexName()));
// then
SearchHits> searchHits0 = searchHitsList.get(0);
@@ -1745,30 +1735,6 @@ public abstract class ElasticsearchTemplateTests {
assertThat(searchHit1.getContent().getClass()).isEqualTo(clazz);
}
- @Test
- public void shouldDeleteDocumentBySpecifiedTypeUsingDeleteQuery() {
-
- // given
- String documentId = nextIdAsString();
- SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message("some message")
- .version(System.currentTimeMillis()).build();
-
- IndexQuery indexQuery = getIndexQuery(sampleEntity);
-
- operations.index(indexQuery, index);
- indexOperations.refresh();
-
- // when
- Query query = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build();
- operations.delete(query, SampleEntity.class, index);
- operations.indexOps(IndexCoordinates.of(INDEX_NAME_SAMPLE_ENTITY)).refresh();
-
- // then
- NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build();
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
- assertThat(searchHits.getTotalHits()).isEqualTo(0);
- }
-
@Test
public void shouldIndexDocumentForSpecifiedSource() {
@@ -1779,8 +1745,9 @@ public abstract class ElasticsearchTemplateTests {
indexQuery.setSource(documentSource);
// when
- operations.index(indexQuery, IndexCoordinates.of(INDEX_NAME_SAMPLE_ENTITY));
- indexOperations.refresh();
+ IndexCoordinates index = IndexCoordinates.of(indexNameProvider.indexName());
+ operations.index(indexQuery, index);
+
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", indexQuery.getId()))
.build();
@@ -1799,7 +1766,7 @@ public abstract class ElasticsearchTemplateTests {
indexQuery.setId("2333343434");
// when
- assertThatThrownBy(() -> operations.index(indexQuery, IndexCoordinates.of(INDEX_NAME_SAMPLE_ENTITY)))
+ assertThatThrownBy(() -> operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName())))
.isInstanceOf(InvalidDataAccessApiUsageException.class);
}
@@ -1808,15 +1775,16 @@ public abstract class ElasticsearchTemplateTests {
// given
List entities = createSampleEntitiesWithMessage("Test message", 3);
// when
- operations.bulkIndex(entities, index);
- indexOperations.refresh();
+ String indexName = indexNameProvider.indexName();
+ operations.bulkIndex(entities, IndexCoordinates.of(indexName));
+
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("message", "message"))
.withPageable(PageRequest.of(0, 100)).build();
// then
SearchHits searchHits = operations.search(searchQuery, SampleEntity.class);
searchHits.forEach(searchHit -> {
- assertThat(searchHit.getIndex()).isEqualTo(INDEX_NAME_SAMPLE_ENTITY);
+ assertThat(searchHit.getIndex()).isEqualTo(indexName);
});
}
@@ -1829,15 +1797,15 @@ public abstract class ElasticsearchTemplateTests {
indexQueries.add(buildIndex(SampleEntity.builder().id("2").message("bc").build()));
indexQueries.add(buildIndex(SampleEntity.builder().id("3").message("ac").build()));
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
// when
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder()
.withQuery(boolQuery().must(wildcardQuery("message", "*a*")).should(wildcardQuery("message", "*b*")))
.withMinScore(2.0F).build();
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getTotalHits()).isEqualTo(1);
@@ -1854,14 +1822,14 @@ public abstract class ElasticsearchTemplateTests {
indexQueries.add(buildIndex(SampleEntity.builder().id("2").message("bc").build()));
indexQueries.add(buildIndex(SampleEntity.builder().id("3").message("ac xz hi").build()));
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
// when
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("message", "xz"))
.withSort(SortBuilders.fieldSort("message")).withTrackScores(true).build();
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(searchHits.getMaxScore()).isGreaterThan(0f);
@@ -1881,12 +1849,13 @@ public abstract class ElasticsearchTemplateTests {
indexQuery.setObject(sampleEntity);
// when
- String documentId = operations.index(indexQuery, index);
+ String documentId = operations.index(indexQuery, IndexCoordinates.of(indexNameProvider.indexName()));
// then
assertThat(sampleEntity.getId()).isEqualTo(documentId);
- SampleEntity result = operations.get(documentId, SampleEntity.class, index);
+ SampleEntity result = operations.get(documentId, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(result.getId()).isEqualTo(documentId);
}
@@ -1914,12 +1883,12 @@ public abstract class ElasticsearchTemplateTests {
indexQueries.add(indexQuery2);
// when
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
// then
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build();
- SearchHits searchHits = operations.search(searchQuery, SampleEntity.class, index);
+ SearchHits searchHits = operations.search(searchQuery, SampleEntity.class,
+ IndexCoordinates.of(indexNameProvider.indexName()));
assertThat(searchHits.getTotalHits()).isEqualTo(2);
@@ -1958,12 +1927,12 @@ public abstract class ElasticsearchTemplateTests {
indexQueries.add(indexQuery2);
// when
- operations.bulkIndex(indexQueries, index);
- indexOperations.refresh();
+ operations.bulkIndex(indexQueries, IndexCoordinates.of(indexNameProvider.indexName()));
// then
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build();
- SearchHits