From 26ab706e87280f2f1bf7b3dd0de334658e0c429c Mon Sep 17 00:00:00 2001 From: Peter-Josef Meisch Date: Fri, 8 Nov 2019 16:44:52 +0100 Subject: [PATCH] DATAES-688 - Remove unneeded SearchQuery subinterface. Original PR: #343 --- .../core/ElasticsearchOperations.java | 39 +++--- .../core/ElasticsearchRestTemplate.java | 47 ++++---- .../core/ElasticsearchTemplate.java | 45 +++---- .../core/ReactiveElasticsearchTemplate.java | 13 +- .../core/query/NativeSearchQuery.java | 10 +- .../elasticsearch/core/query/SearchQuery.java | 59 --------- .../repository/ElasticsearchRepository.java | 5 +- .../AbstractElasticsearchRepository.java | 16 +-- .../data/elasticsearch/NestedObjectTests.java | 10 +- .../core/ElasticsearchTemplateTests.java | 114 +++++++++--------- .../elasticsearch/core/LogEntityTests.java | 8 +- .../ReactiveElasticsearchTemplateTests.java | 8 +- ...ElasticsearchTemplateAggregationTests.java | 4 +- .../ElasticsearchTemplateFacetTests.java | 36 +++--- .../core/index/MappingBuilderTests.java | 6 +- ...ettingAndMappingEntityRepositoryTests.java | 28 +++-- ...ldDynamicMappingEntityRepositoryTests.java | 25 ++-- .../UUIDElasticsearchRepositoryTests.java | 42 ++++--- .../SimpleElasticsearchRepositoryTests.java | 54 +++++---- src/test/resources/dynamic-settings-test.xml | 19 --- .../resources/uuidkeyed-repository-test.xml | 19 --- 21 files changed, 264 insertions(+), 343 deletions(-) delete mode 100644 src/main/java/org/springframework/data/elasticsearch/core/query/SearchQuery.java delete mode 100644 src/test/resources/dynamic-settings-test.xml delete mode 100644 src/test/resources/uuidkeyed-repository-test.xml diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchOperations.java b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchOperations.java index 49b37c0ae..cff479445 100755 --- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchOperations.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchOperations.java @@ -24,16 +24,7 @@ import org.elasticsearch.cluster.metadata.AliasMetaData; import org.springframework.data.domain.Page; import org.springframework.data.elasticsearch.core.convert.ElasticsearchConverter; import org.springframework.data.elasticsearch.core.mapping.ElasticsearchPersistentEntity; -import org.springframework.data.elasticsearch.core.query.AliasQuery; -import org.springframework.data.elasticsearch.core.query.BulkOptions; -import org.springframework.data.elasticsearch.core.query.CriteriaQuery; -import org.springframework.data.elasticsearch.core.query.DeleteQuery; -import org.springframework.data.elasticsearch.core.query.GetQuery; -import org.springframework.data.elasticsearch.core.query.IndexQuery; -import org.springframework.data.elasticsearch.core.query.MoreLikeThisQuery; -import org.springframework.data.elasticsearch.core.query.SearchQuery; -import org.springframework.data.elasticsearch.core.query.StringQuery; -import org.springframework.data.elasticsearch.core.query.UpdateQuery; +import org.springframework.data.elasticsearch.core.query.*; import org.springframework.data.util.CloseableIterator; import org.springframework.lang.Nullable; @@ -169,7 +160,7 @@ public interface ElasticsearchOperations { */ List queryForAlias(String indexName); - T query(SearchQuery query, ResultsExtractor resultsExtractor); + T query(NativeSearchQuery query, ResultsExtractor resultsExtractor); /** * Execute the query against elasticsearch and return the first returned object @@ -205,7 +196,7 @@ public interface ElasticsearchOperations { * @param clazz * @return */ - Page queryForPage(SearchQuery query, Class clazz); + Page queryForPage(NativeSearchQuery query, Class clazz); /** * Execute the multi-search against elasticsearch and return result as {@link List} of {@link Page} @@ -214,7 +205,7 @@ public interface ElasticsearchOperations { * @param clazz * @return */ - List> queryForPage(List queries, Class clazz); + List> queryForPage(List queries, Class clazz); /** * Execute the multi-search against elasticsearch and return result as {@link List} of {@link Page} @@ -223,7 +214,7 @@ public interface ElasticsearchOperations { * @param classes * @return */ - List> queryForPage(List queries, List> classes); + List> queryForPage(List queries, List> classes); /** * Execute the query against elasticsearch and return result as {@link Page} @@ -258,7 +249,7 @@ public interface ElasticsearchOperations { CloseableIterator stream(CriteriaQuery query, Class clazz); /** - * Executes the given {@link SearchQuery} against elasticsearch and return result as {@link CloseableIterator}. + * Executes the given {@link NativeSearchQuery} against elasticsearch and return result as {@link CloseableIterator}. *

* Returns a {@link CloseableIterator} that wraps an Elasticsearch scroll context that needs to be closed in case of * error. @@ -269,7 +260,7 @@ public interface ElasticsearchOperations { * @return * @since 1.3 */ - CloseableIterator stream(SearchQuery query, Class clazz); + CloseableIterator stream(NativeSearchQuery query, Class clazz); /** * Execute the criteria query against elasticsearch and return result as {@link List} @@ -299,7 +290,7 @@ public interface ElasticsearchOperations { * @param * @return */ - List queryForList(SearchQuery query, Class clazz); + List queryForList(NativeSearchQuery query, Class clazz); /** * Execute the multi search query against elasticsearch and return result as {@link List} @@ -309,7 +300,7 @@ public interface ElasticsearchOperations { * @param * @return */ - default List> queryForList(List queries, Class clazz) { + default List> queryForList(List queries, Class clazz) { return queryForPage(queries, clazz).stream().map(Page::getContent).collect(Collectors.toList()); } @@ -320,7 +311,7 @@ public interface ElasticsearchOperations { * @param classes * @return */ - default List> queryForList(List queries, List> classes) { + default List> queryForList(List queries, List> classes) { return queryForPage(queries, classes).stream().map(Page::getContent).collect(Collectors.toList()); } @@ -330,7 +321,7 @@ public interface ElasticsearchOperations { * @param query * @return */ - List queryForIds(SearchQuery query); + List queryForIds(NativeSearchQuery query); /** * return number of elements found by given query @@ -356,7 +347,7 @@ public interface ElasticsearchOperations { * @param clazz * @return */ - long count(SearchQuery query, Class clazz); + long count(NativeSearchQuery query, Class clazz); /** * return number of elements found by given query @@ -364,7 +355,7 @@ public interface ElasticsearchOperations { * @param query * @return */ - long count(SearchQuery query); + long count(NativeSearchQuery query); /** * Execute a multiGet against elasticsearch for the given ids @@ -373,7 +364,7 @@ public interface ElasticsearchOperations { * @param clazz * @return */ - List multiGet(SearchQuery searchQuery, Class clazz); + List multiGet(NativeSearchQuery searchQuery, Class clazz); /** * Index an object. Will do save or update @@ -535,7 +526,7 @@ public interface ElasticsearchOperations { * @param clazz The class of entity to retrieve. * @return The scan id for input query. */ - ScrolledPage startScroll(long scrollTimeInMillis, SearchQuery query, Class clazz); + ScrolledPage startScroll(long scrollTimeInMillis, NativeSearchQuery query, Class clazz); /** * Returns scrolled page for given query diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplate.java b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplate.java index 687e94905..9fdbb7379 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchRestTemplate.java @@ -349,28 +349,29 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate } @Override - public AggregatedPage queryForPage(SearchQuery query, Class clazz) { + public AggregatedPage queryForPage(NativeSearchQuery query, Class clazz) { SearchResponse response = doSearch(prepareSearch(query, clazz), query); return elasticsearchConverter.mapResults(SearchDocumentResponse.from(response), clazz, query.getPageable()); } - private List> doMultiSearch(List queries, Class clazz, MultiSearchRequest request) { + private List> doMultiSearch(List queries, Class clazz, MultiSearchRequest request) { MultiSearchResponse.Item[] items = getMultiSearchResult(request); List> res = new ArrayList<>(queries.size()); int c = 0; - for (SearchQuery query : queries) { + for (NativeSearchQuery query : queries) { res.add(elasticsearchConverter.mapResults(SearchDocumentResponse.from(items[c++].getResponse()), clazz, query.getPageable())); } return res; } - private List> doMultiSearch(List queries, List> classes, MultiSearchRequest request) { + private List> doMultiSearch(List queries, List> classes, + MultiSearchRequest request) { MultiSearchResponse.Item[] items = getMultiSearchResult(request); List> res = new ArrayList<>(queries.size()); int c = 0; Iterator> it = classes.iterator(); - for (SearchQuery query : queries) { + for (NativeSearchQuery query : queries) { res.add(elasticsearchConverter.mapResults(SearchDocumentResponse.from(items[c++].getResponse()), it.next(), query.getPageable())); } @@ -390,26 +391,26 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate } @Override - public List> queryForPage(List queries, Class clazz) { + public List> queryForPage(List queries, Class clazz) { MultiSearchRequest request = new MultiSearchRequest(); - for (SearchQuery query : queries) { + for (NativeSearchQuery query : queries) { request.add(prepareSearch(prepareSearch(query, clazz), query)); } return doMultiSearch(queries, clazz, request); } @Override - public List> queryForPage(List queries, List> classes) { + public List> queryForPage(List queries, List> classes) { MultiSearchRequest request = new MultiSearchRequest(); Iterator> it = classes.iterator(); - for (SearchQuery query : queries) { + for (NativeSearchQuery query : queries) { request.add(prepareSearch(prepareSearch(query, it.next()), query)); } return doMultiSearch(queries, classes, request); } @Override - public T query(SearchQuery query, ResultsExtractor resultsExtractor) { + public T query(NativeSearchQuery query, ResultsExtractor resultsExtractor) { SearchResponse response = doSearch(prepareSearch(query, Optional.ofNullable(query.getQuery()), null), query); return resultsExtractor.extract(response); } @@ -425,12 +426,12 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate } @Override - public List queryForList(SearchQuery query, Class clazz) { + public List queryForList(NativeSearchQuery query, Class clazz) { return queryForPage(query, clazz).getContent(); } @Override - public List queryForIds(SearchQuery query) { + public List queryForIds(NativeSearchQuery query) { SearchRequest request = prepareSearch(query, Optional.ofNullable(query.getQuery()), null); request.source().query(query.getQuery()); if (query.getFilter() != null) { @@ -502,7 +503,7 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate } @Override - public CloseableIterator stream(SearchQuery query, Class clazz) { + public CloseableIterator stream(NativeSearchQuery query, Class clazz) { long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis(); return doStream(scrollTimeInMillis, startScroll(scrollTimeInMillis, query, clazz), clazz); } @@ -527,7 +528,7 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate } @Override - public long count(SearchQuery searchQuery, Class clazz) { + public long count(NativeSearchQuery searchQuery, Class clazz) { QueryBuilder elasticsearchQuery = searchQuery.getQuery(); QueryBuilder elasticsearchFilter = searchQuery.getFilter(); @@ -545,7 +546,7 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate } @Override - public long count(SearchQuery query) { + public long count(NativeSearchQuery query) { return count(query, null); } @@ -599,7 +600,7 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate } @Override - public List multiGet(SearchQuery searchQuery, Class clazz) { + public List multiGet(NativeSearchQuery searchQuery, Class clazz) { return elasticsearchConverter.mapDocuments(DocumentAdapters.from(getMultiResponse(searchQuery, clazz)), clazz); } @@ -915,8 +916,8 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate request.indicesOptions(query.getIndicesOptions()); } - if (query instanceof SearchQuery) { - SearchQuery searchQuery = (SearchQuery) query; + if (query instanceof NativeSearchQuery) { + NativeSearchQuery searchQuery = (NativeSearchQuery) query; if (searchQuery.getHighlightFields() != null || searchQuery.getHighlightBuilder() != null) { HighlightBuilder highlightBuilder = searchQuery.getHighlightBuilder(); @@ -963,7 +964,7 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate } } - private SearchResponse doScroll(SearchRequest request, SearchQuery searchQuery) { + private SearchResponse doScroll(SearchRequest request, NativeSearchQuery searchQuery) { Assert.notNull(searchQuery.getIndices(), "No index defined for Query"); Assert.notNull(searchQuery.getTypes(), "No type define for Query"); Assert.notNull(searchQuery.getPageable(), "Query.pageable is required for scan & scroll"); @@ -993,7 +994,7 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate } @Override - public ScrolledPage startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class clazz) { + public ScrolledPage startScroll(long scrollTimeInMillis, NativeSearchQuery searchQuery, Class clazz) { SearchResponse response = doScroll(prepareScroll(searchQuery, scrollTimeInMillis, clazz), searchQuery); return elasticsearchConverter.mapResults(SearchDocumentResponse.from(response), clazz, null); } @@ -1071,7 +1072,7 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate return queryForPage(new NativeSearchQueryBuilder().withQuery(moreLikeThisQueryBuilder).build(), clazz); } - private SearchResponse doSearch(SearchRequest searchRequest, SearchQuery searchQuery) { + private SearchResponse doSearch(SearchRequest searchRequest, NativeSearchQuery searchQuery) { prepareSearch(searchRequest, searchQuery); try { @@ -1081,7 +1082,7 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate } } - private SearchRequest prepareSearch(SearchRequest searchRequest, SearchQuery searchQuery) { + private SearchRequest prepareSearch(SearchRequest searchRequest, NativeSearchQuery searchQuery) { if (searchQuery.getFilter() != null) { searchRequest.source().postFilter(searchQuery.getFilter()); } @@ -1239,7 +1240,7 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate return prepareSearch(query, Optional.empty(), clazz); } - private SearchRequest prepareSearch(SearchQuery query, Class clazz) { + private SearchRequest prepareSearch(NativeSearchQuery query, Class clazz) { setPersistentEntityIndexAndType(query, clazz); return prepareSearch(query, Optional.ofNullable(query.getQuery()), clazz); } 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 9911cc184..593fdf418 100755 --- a/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java @@ -281,37 +281,38 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate } @Override - public AggregatedPage queryForPage(SearchQuery query, Class clazz) { + public AggregatedPage queryForPage(NativeSearchQuery query, Class clazz) { SearchResponse response = doSearch(prepareSearch(query, clazz), query); return elasticsearchConverter.mapResults(SearchDocumentResponse.from(response), clazz, query.getPageable()); } @Override - public List> queryForPage(List queries, Class clazz) { + public List> queryForPage(List queries, Class clazz) { MultiSearchRequest request = new MultiSearchRequest(); - for (SearchQuery query : queries) { + for (NativeSearchQuery query : queries) { request.add(prepareSearch(prepareSearch(query, clazz), query)); } return doMultiSearch(queries, clazz, request); } - private List> doMultiSearch(List queries, Class clazz, MultiSearchRequest request) { + private List> doMultiSearch(List queries, Class clazz, MultiSearchRequest request) { MultiSearchResponse.Item[] items = getMultiSearchResult(request); List> res = new ArrayList<>(queries.size()); int c = 0; - for (SearchQuery query : queries) { + for (NativeSearchQuery query : queries) { res.add(elasticsearchConverter.mapResults(SearchDocumentResponse.from(items[c++].getResponse()), clazz, query.getPageable())); } return res; } - private List> doMultiSearch(List queries, List> classes, MultiSearchRequest request) { + private List> doMultiSearch(List queries, List> classes, + MultiSearchRequest request) { MultiSearchResponse.Item[] items = getMultiSearchResult(request); List> res = new ArrayList<>(queries.size()); int c = 0; Iterator> it = classes.iterator(); - for (SearchQuery query : queries) { + for (NativeSearchQuery query : queries) { res.add(elasticsearchConverter.mapResults(SearchDocumentResponse.from(items[c++].getResponse()), it.next(), query.getPageable())); } @@ -327,18 +328,18 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate } @Override - public List> queryForPage(List queries, List> classes) { + public List> queryForPage(List queries, List> classes) { Assert.isTrue(queries.size() == classes.size(), "Queries should have same length with classes"); MultiSearchRequest request = new MultiSearchRequest(); Iterator> it = classes.iterator(); - for (SearchQuery query : queries) { + for (NativeSearchQuery query : queries) { request.add(prepareSearch(prepareSearch(query, it.next()), query)); } return doMultiSearch(queries, classes, request); } @Override - public T query(SearchQuery query, ResultsExtractor resultsExtractor) { + public T query(NativeSearchQuery query, ResultsExtractor resultsExtractor) { SearchResponse response = doSearch(prepareSearch(query, (ElasticsearchPersistentEntity) null), query); return resultsExtractor.extract(response); } @@ -354,12 +355,12 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate } @Override - public List queryForList(SearchQuery query, Class clazz) { + public List queryForList(NativeSearchQuery query, Class clazz) { return queryForPage(query, clazz).getContent(); } @Override - public List queryForIds(SearchQuery query) { + public List queryForIds(NativeSearchQuery query) { SearchRequestBuilder request = prepareSearch(query, (ElasticsearchPersistentEntity) null) .setQuery(query.getQuery()); if (query.getFilter() != null) { @@ -410,7 +411,7 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate } @Override - public CloseableIterator stream(SearchQuery query, Class clazz) { + public CloseableIterator stream(NativeSearchQuery query, Class clazz) { long scrollTimeInMillis = TimeValue.timeValueMinutes(1).millis(); return doStream(scrollTimeInMillis, startScroll(scrollTimeInMillis, query, clazz), clazz); } @@ -435,7 +436,7 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate } @Override - public long count(SearchQuery searchQuery, Class clazz) { + public long count(NativeSearchQuery searchQuery, Class clazz) { QueryBuilder elasticsearchQuery = searchQuery.getQuery(); QueryBuilder elasticsearchFilter = searchQuery.getFilter(); @@ -453,7 +454,7 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate } @Override - public long count(SearchQuery query) { + public long count(NativeSearchQuery query) { return count(query, null); } @@ -497,7 +498,7 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate } @Override - public List multiGet(SearchQuery searchQuery, Class clazz) { + public List multiGet(NativeSearchQuery searchQuery, Class clazz) { return elasticsearchConverter.mapDocuments(DocumentAdapters.from(getMultiResponse(searchQuery, clazz)), clazz); } @@ -763,8 +764,8 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate requestBuilder.setIndicesOptions(query.getIndicesOptions()); } - if (query instanceof SearchQuery) { - SearchQuery searchQuery = (SearchQuery) query; + if (query instanceof NativeSearchQuery) { + NativeSearchQuery searchQuery = (NativeSearchQuery) query; if (searchQuery.getHighlightFields() != null || searchQuery.getHighlightBuilder() != null) { HighlightBuilder highlightBuilder = searchQuery.getHighlightBuilder(); @@ -805,7 +806,7 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate return getSearchResponse(requestBuilder); } - private SearchResponse doScroll(SearchRequestBuilder requestBuilder, SearchQuery searchQuery) { + private SearchResponse doScroll(SearchRequestBuilder requestBuilder, NativeSearchQuery searchQuery) { Assert.notNull(searchQuery.getIndices(), "No index defined for Query"); Assert.notNull(searchQuery.getTypes(), "No type define for Query"); Assert.notNull(searchQuery.getPageable(), "Query.pageable is required for scan & scroll"); @@ -824,7 +825,7 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate } @Override - public ScrolledPage startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class clazz) { + public ScrolledPage startScroll(long scrollTimeInMillis, NativeSearchQuery searchQuery, Class clazz) { SearchResponse response = doScroll(prepareScroll(searchQuery, scrollTimeInMillis, clazz), searchQuery); return elasticsearchConverter.mapResults(SearchDocumentResponse.from(response), clazz, null); } @@ -890,12 +891,12 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate return queryForPage(new NativeSearchQueryBuilder().withQuery(moreLikeThisQueryBuilder).build(), clazz); } - private SearchResponse doSearch(SearchRequestBuilder searchRequest, SearchQuery searchQuery) { + private SearchResponse doSearch(SearchRequestBuilder searchRequest, NativeSearchQuery searchQuery) { SearchRequestBuilder requestBuilder = prepareSearch(searchRequest, searchQuery); return getSearchResponse(requestBuilder); } - private SearchRequestBuilder prepareSearch(SearchRequestBuilder searchRequest, SearchQuery searchQuery) { + private SearchRequestBuilder prepareSearch(SearchRequestBuilder searchRequest, NativeSearchQuery searchQuery) { if (searchQuery.getFilter() != null) { searchRequest.setPostFilter(searchQuery.getFilter()); } diff --git a/src/main/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplate.java b/src/main/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplate.java index 9f69c08a3..47e1137af 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplate.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplate.java @@ -66,7 +66,6 @@ import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMa import org.springframework.data.elasticsearch.core.query.CriteriaQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.Query; -import org.springframework.data.elasticsearch.core.query.SearchQuery; import org.springframework.data.elasticsearch.core.query.StringQuery; import org.springframework.data.mapping.context.MappingContext; import org.springframework.http.HttpStatus; @@ -273,8 +272,8 @@ public class ReactiveElasticsearchTemplate implements ReactiveElasticsearchOpera searchSourceBuilder.fetchSource(query.getSourceFilter().getIncludes(), query.getSourceFilter().getExcludes()); } - if (query instanceof SearchQuery && ((SearchQuery) query).getCollapseBuilder() != null) { - searchSourceBuilder.collapse(((SearchQuery) query).getCollapseBuilder()); + if (query instanceof NativeSearchQuery && ((NativeSearchQuery) query).getCollapseBuilder() != null) { + searchSourceBuilder.collapse(((NativeSearchQuery) query).getCollapseBuilder()); } sort(query, entity).forEach(searchSourceBuilder::sort); @@ -312,8 +311,8 @@ public class ReactiveElasticsearchTemplate implements ReactiveElasticsearchOpera searchSourceBuilder.fetchSource(query.getSourceFilter().getIncludes(), query.getSourceFilter().getExcludes()); } - if (query instanceof SearchQuery && ((SearchQuery) query).getCollapseBuilder() != null) { - searchSourceBuilder.collapse(((SearchQuery) query).getCollapseBuilder()); + if (query instanceof NativeSearchQuery && ((NativeSearchQuery) query).getCollapseBuilder() != null) { + searchSourceBuilder.collapse(((NativeSearchQuery) query).getCollapseBuilder()); } sort(query, entity).forEach(searchSourceBuilder::sort); @@ -747,8 +746,8 @@ public class ReactiveElasticsearchTemplate implements ReactiveElasticsearchOpera @Nullable private QueryBuilder mappedFilterQuery(Query query, ElasticsearchPersistentEntity entity) { - if (query instanceof SearchQuery) { - return ((SearchQuery) query).getFilter(); + if (query instanceof NativeSearchQuery) { + return ((NativeSearchQuery) query).getFilter(); } return null; diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQuery.java index 32e2a3985..385b0e23e 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQuery.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQuery.java @@ -34,8 +34,9 @@ import org.springframework.data.elasticsearch.core.facet.FacetRequest; * @author Artur Konczak * @author Jean-Baptiste Nizet * @author Martin Choraine + * @author Peter-Josef Meisch */ -public class NativeSearchQuery extends AbstractQuery implements SearchQuery { +public class NativeSearchQuery extends AbstractQuery { private QueryBuilder query; private QueryBuilder filter; @@ -97,17 +98,14 @@ public class NativeSearchQuery extends AbstractQuery implements SearchQuery { return sorts; } - @Override public HighlightBuilder getHighlightBuilder() { return highlightBuilder; } - @Override public HighlightBuilder.Field[] getHighlightFields() { return highlightFields; } - @Override public List getScriptFields() { return scriptFields; } @@ -120,7 +118,6 @@ public class NativeSearchQuery extends AbstractQuery implements SearchQuery { scriptFields.addAll(Arrays.asList(scriptField)); } - @Override public CollapseBuilder getCollapseBuilder() { return collapseBuilder; } @@ -142,12 +139,10 @@ public class NativeSearchQuery extends AbstractQuery implements SearchQuery { this.facets = facets; } - @Override public List getFacets() { return facets; } - @Override public List getAggregations() { return aggregations; } @@ -165,7 +160,6 @@ public class NativeSearchQuery extends AbstractQuery implements SearchQuery { this.aggregations = aggregations; } - @Override public List getIndicesBoost() { return indicesBoost; } diff --git a/src/main/java/org/springframework/data/elasticsearch/core/query/SearchQuery.java b/src/main/java/org/springframework/data/elasticsearch/core/query/SearchQuery.java deleted file mode 100644 index 3570d0879..000000000 --- a/src/main/java/org/springframework/data/elasticsearch/core/query/SearchQuery.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2013-2019 the original author or authors. - * - * Licensed 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 - * - * https://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.springframework.data.elasticsearch.core.query; - -import java.util.List; - -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.search.aggregations.AbstractAggregationBuilder; -import org.elasticsearch.search.collapse.CollapseBuilder; -import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; -import org.elasticsearch.search.sort.SortBuilder; -import org.springframework.data.elasticsearch.core.facet.FacetRequest; - -/** - * NativeSearchQuery - * - * @author Rizwan Idrees - * @author Mohsin Husen - * @author Artur Konczak - * @author Jean-Baptiste Nizet - * @author Martin Choraine - */ -public interface SearchQuery extends Query { - - QueryBuilder getQuery(); - - QueryBuilder getFilter(); - - List getElasticsearchSorts(); - - @Deprecated - List getFacets(); - - List getAggregations(); - - HighlightBuilder getHighlightBuilder(); - - HighlightBuilder.Field[] getHighlightFields(); - - List getIndicesBoost(); - - List getScriptFields(); - - CollapseBuilder getCollapseBuilder(); - -} diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/ElasticsearchRepository.java b/src/main/java/org/springframework/data/elasticsearch/repository/ElasticsearchRepository.java index 232e3355b..3a7dcd53d 100644 --- a/src/main/java/org/springframework/data/elasticsearch/repository/ElasticsearchRepository.java +++ b/src/main/java/org/springframework/data/elasticsearch/repository/ElasticsearchRepository.java @@ -18,7 +18,7 @@ package org.springframework.data.elasticsearch.repository; import org.elasticsearch.index.query.QueryBuilder; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import org.springframework.data.elasticsearch.core.query.SearchQuery; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.repository.NoRepositoryBean; /** @@ -28,6 +28,7 @@ import org.springframework.data.repository.NoRepositoryBean; * @author Mohsin Husen * @author Sascha Woo * @author Murali Chevuri + * @author Peter-Josef Meisch */ @NoRepositoryBean public interface ElasticsearchRepository extends ElasticsearchCrudRepository { @@ -45,7 +46,7 @@ public interface ElasticsearchRepository extends ElasticsearchCrudReposit Page search(QueryBuilder query, Pageable pageable); - Page search(SearchQuery searchQuery); + Page search(NativeSearchQuery searchQuery); Page searchSimilar(T entity, String[] fields, Pageable pageable); diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/support/AbstractElasticsearchRepository.java b/src/main/java/org/springframework/data/elasticsearch/repository/support/AbstractElasticsearchRepository.java index 0a1f4e2b7..3ca4db976 100644 --- a/src/main/java/org/springframework/data/elasticsearch/repository/support/AbstractElasticsearchRepository.java +++ b/src/main/java/org/springframework/data/elasticsearch/repository/support/AbstractElasticsearchRepository.java @@ -40,8 +40,8 @@ import org.springframework.data.elasticsearch.core.query.DeleteQuery; import org.springframework.data.elasticsearch.core.query.GetQuery; import org.springframework.data.elasticsearch.core.query.IndexQuery; import org.springframework.data.elasticsearch.core.query.MoreLikeThisQuery; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.data.elasticsearch.core.query.SearchQuery; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.data.util.Streamable; import org.springframework.util.Assert; @@ -134,7 +134,7 @@ public abstract class AbstractElasticsearchRepository implements Elastics @Override public Page findAll(Pageable pageable) { - SearchQuery query = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withPageable(pageable).build(); + NativeSearchQuery query = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withPageable(pageable).build(); return elasticsearchOperations.queryForPage(query, getEntityClass()); } @@ -147,7 +147,7 @@ public abstract class AbstractElasticsearchRepository implements Elastics return new PageImpl<>(Collections. emptyList()); } - SearchQuery query = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery query = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withPageable(PageRequest.of(0, itemCount, sort)).build(); return elasticsearchOperations.queryForPage(query, getEntityClass()); @@ -158,7 +158,7 @@ public abstract class AbstractElasticsearchRepository implements Elastics Assert.notNull(ids, "ids can't be null."); - SearchQuery query = new NativeSearchQueryBuilder().withIds(stringIdsRepresentation(ids)).build(); + NativeSearchQuery query = new NativeSearchQueryBuilder().withIds(stringIdsRepresentation(ids)).build(); return elasticsearchOperations.multiGet(query, getEntityClass()); } @@ -166,7 +166,7 @@ public abstract class AbstractElasticsearchRepository implements Elastics @Override public long count() { - SearchQuery query = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery query = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); return elasticsearchOperations.count(query, getEntityClass()); } @@ -230,7 +230,7 @@ public abstract class AbstractElasticsearchRepository implements Elastics @Override public Iterable search(QueryBuilder query) { - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(query).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(query).build(); int count = (int) elasticsearchOperations.count(searchQuery, getEntityClass()); if (count == 0) { return new PageImpl<>(Collections. emptyList()); @@ -244,13 +244,13 @@ public abstract class AbstractElasticsearchRepository implements Elastics @Override public Page search(QueryBuilder query, Pageable pageable) { - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(query).withPageable(pageable).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(query).withPageable(pageable).build(); return elasticsearchOperations.queryForPage(searchQuery, getEntityClass()); } @Override - public Page search(SearchQuery query) { + public Page search(NativeSearchQuery query) { return elasticsearchOperations.queryForPage(query, getEntityClass()); } diff --git a/src/test/java/org/springframework/data/elasticsearch/NestedObjectTests.java b/src/test/java/org/springframework/data/elasticsearch/NestedObjectTests.java index 0994dd468..ca0bda9ab 100644 --- a/src/test/java/org/springframework/data/elasticsearch/NestedObjectTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/NestedObjectTests.java @@ -47,8 +47,8 @@ import org.springframework.data.elasticsearch.annotations.MultiField; import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.core.query.GetQuery; import org.springframework.data.elasticsearch.core.query.IndexQuery; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.data.elasticsearch.core.query.SearchQuery; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; @@ -128,7 +128,7 @@ public class NestedObjectTests { QueryBuilder builder = nestedQuery("car", boolQuery().must(termQuery("car.name", "saturn")).must(termQuery("car.model", "imprezza")), ScoreMode.None); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build(); List persons = elasticsearchTemplate.queryForList(searchQuery, Person.class); assertThat(persons).hasSize(1); @@ -186,7 +186,7 @@ public class NestedObjectTests { builder.must(nestedQuery("girlFriends", termQuery("girlFriends.type", "temp"), ScoreMode.None)).must( nestedQuery("girlFriends.cars", termQuery("girlFriends.cars.name", "Ford".toLowerCase()), ScoreMode.None)); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build(); Page personIndexed = elasticsearchTemplate.queryForPage(searchQuery, PersonMultipleLevelNested.class); @@ -323,7 +323,7 @@ public class NestedObjectTests { // when QueryBuilder builder = nestedQuery("books", boolQuery().must(termQuery("books.name", "java")), ScoreMode.None); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build(); List persons = elasticsearchTemplate.queryForList(searchQuery, Person.class); // then @@ -369,7 +369,7 @@ public class NestedObjectTests { elasticsearchTemplate.refresh(Book.class); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder() + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() .withQuery(nestedQuery("buckets", termQuery("buckets.1", "test3"), ScoreMode.None)).build(); Page books = elasticsearchTemplate.queryForPage(searchQuery, Book.class); 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 e4da91ce0..3436cfa09 100755 --- a/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java @@ -172,7 +172,7 @@ public abstract class ElasticsearchTemplateTests { IndexQuery indexQuery = getIndexQuery(sampleEntity); elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); // when @@ -221,7 +221,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // when - SearchQuery query = new NativeSearchQueryBuilder().withIds(Arrays.asList(documentId, documentId2)).build(); + NativeSearchQuery query = new NativeSearchQueryBuilder().withIds(Arrays.asList(documentId, documentId2)).build(); List sampleEntities = elasticsearchTemplate.multiGet(query, SampleEntity.class); // then @@ -250,7 +250,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // when - SearchQuery query = new NativeSearchQueryBuilder().withIds(Arrays.asList(documentId, documentId2)) + NativeSearchQuery query = new NativeSearchQueryBuilder().withIds(Arrays.asList(documentId, documentId2)) .withFields("message", "type").build(); List sampleEntities = elasticsearchTemplate.multiGet(query, SampleEntity.class); @@ -271,7 +271,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); // when Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); @@ -294,7 +294,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQueryWithValidPreference = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQueryWithValidPreference = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withPreference("_local").build(); // when @@ -319,7 +319,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQueryWithInvalidPreference = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQueryWithInvalidPreference = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withPreference("_only_nodes:oops").build(); // when @@ -343,7 +343,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(INDEX_1_NAME); // when - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_1_NAME, INDEX_2_NAME).withIndicesOptions(IndicesOptions.lenientExpandOpen()).build(); Page entities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); @@ -375,7 +375,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); assertThat(sampleEntities.getTotalElements()).isEqualTo(2); } @@ -431,7 +431,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); assertThat(sampleEntities.getTotalElements()).isEqualTo(0); } @@ -453,7 +453,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); assertThat(sampleEntities.getTotalElements()).isEqualTo(0); } @@ -478,7 +478,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); assertThat(sampleEntities.getTotalElements()).isEqualTo(0); } @@ -516,7 +516,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(INDEX_2_NAME); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("message", "foo")) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("message", "foo")) .withIndices(INDEX_1_NAME, INDEX_2_NAME) // .build(); @@ -556,7 +556,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(INDEX_2_NAME); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("message", "positive")) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("message", "positive")) .withIndices(INDEX_1_NAME, INDEX_2_NAME) // .build(); @@ -575,7 +575,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFilter(boolQuery().filter(termQuery("id", documentId))).build(); // when @@ -610,7 +610,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.bulkIndex(indexQueries); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withSort(new FieldSortBuilder("rate").order(SortOrder.ASC)).build(); // when @@ -646,7 +646,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.bulkIndex(indexQueries); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withSort(new FieldSortBuilder("rate").order(SortOrder.ASC)) .withSort(new FieldSortBuilder("message").order(SortOrder.ASC)).build(); @@ -685,7 +685,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.bulkIndex(indexQueries); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withPageable(PageRequest.of(0, 10, Sort.by(Sort.Order.asc("message").nullsFirst()))).build(); // when @@ -723,7 +723,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.bulkIndex(indexQueries); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withPageable(PageRequest.of(0, 10, Sort.by(Sort.Order.asc("message").nullsLast()))).build(); // when @@ -747,7 +747,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.bulkIndex(getIndexQueries(entities)); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder() // + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() // .withQuery(matchQuery("message", "green")) // .withPageable(PageRequest.of(0, 10, Sort.by(Sort.Order.asc("_score")))) // .build(); @@ -805,7 +805,7 @@ public abstract class ElasticsearchTemplateTests { params.put("factor", 2); // when - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withScriptField( + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withScriptField( new ScriptField("scriptedRate", new Script(ScriptType.INLINE, "expression", "doc['rate'] * factor", params))) .build(); Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); @@ -961,7 +961,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).withFields("message").build(); // when @@ -993,7 +993,7 @@ public abstract class ElasticsearchTemplateTests { FetchSourceFilterBuilder sourceFilter = new FetchSourceFilterBuilder(); sourceFilter.withIncludes("message"); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).withSourceFilter(sourceFilter.build()).build(); // when @@ -1080,7 +1080,7 @@ public abstract class ElasticsearchTemplateTests { // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).withPageable(PageRequest.of(0, 10)).build(); ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); @@ -1133,7 +1133,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).withFields("message").withQuery(matchAllQuery()) .withPageable(PageRequest.of(0, 10)).build(); @@ -1188,7 +1188,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).withPageable(PageRequest.of(0, 10)).build(); ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); @@ -1240,7 +1240,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withPageable(PageRequest.of(0, 10)).build(); ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); @@ -1504,7 +1504,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(INDEX_1_NAME); // when - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_1_NAME, INDEX_2_NAME).withIndicesOptions(IndicesOptions.lenientExpandOpen()).build(); List entities = new ArrayList<>(); @@ -1539,7 +1539,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // when - List queries = new ArrayList<>(); + List queries = new ArrayList<>(); queries.add(new NativeSearchQueryBuilder().withQuery(termQuery("message", "ab")).build()); queries.add(new NativeSearchQueryBuilder().withQuery(termQuery("message", "bc")).build()); @@ -1572,7 +1572,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(clazz); // when - List queries = new ArrayList<>(); + List queries = new ArrayList<>(); queries.add(new NativeSearchQueryBuilder().withQuery(termQuery("message", "ab")).build()); queries.add(new NativeSearchQueryBuilder().withQuery(termQuery("description", "bc")).build()); @@ -1609,7 +1609,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(INDEX_NAME_SAMPLE_ENTITY); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); assertThat(sampleEntities.getTotalElements()).isEqualTo(0); } @@ -1628,7 +1628,7 @@ public abstract class ElasticsearchTemplateTests { // when elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", indexQuery.getId())) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", indexQuery.getId())) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).build(); // then @@ -1658,7 +1658,7 @@ public abstract class ElasticsearchTemplateTests { // when elasticsearchTemplate.bulkIndex(entities); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("message", "message")) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("message", "message")) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).withPageable(PageRequest.of(0, 100)).build(); // then List ids = elasticsearchTemplate.queryForIds(searchQuery); @@ -1678,7 +1678,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // when - SearchQuery searchQuery = new NativeSearchQueryBuilder() + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() .withQuery(boolQuery().must(wildcardQuery("message", "*a*")).should(wildcardQuery("message", "*b*"))) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).withMinScore(2.0F).build(); @@ -1703,7 +1703,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // when - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("message", "xz")) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("message", "xz")) .withSort(SortBuilders.fieldSort("message")).withTrackScores(true).build(); Page page = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); @@ -1766,7 +1766,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); assertThat(sampleEntities.getTotalElements()).isEqualTo(2); @@ -1814,8 +1814,8 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(INDEX_NAME_SAMPLE_ENTITY); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME) - .withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withIndices(INDEX_NAME_SAMPLE_ENTITY) + .withTypes(TYPE_NAME).withQuery(matchAllQuery()).build(); Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, Map.class); assertThat(sampleEntities.getTotalElements()).isEqualTo(2); @@ -1839,8 +1839,8 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.index(indexQueryBuilder.build()); elasticsearchTemplate.refresh(INDEX_NAME_SAMPLE_ENTITY); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME) - .withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withIndices(INDEX_NAME_SAMPLE_ENTITY) + .withTypes(TYPE_NAME).withQuery(matchAllQuery()).build(); // when Page entities = elasticsearchTemplate.queryForPage(searchQuery, GTEVersionEntity.class); // then @@ -1871,8 +1871,8 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(INDEX_NAME_SAMPLE_ENTITY); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME) - .withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withIndices(INDEX_NAME_SAMPLE_ENTITY) + .withTypes(TYPE_NAME).withQuery(matchAllQuery()).build(); // when Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); @@ -1914,7 +1914,7 @@ public abstract class ElasticsearchTemplateTests { IndexQuery indexQuery = getIndexQuery(sampleEntity); elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_NAME_SAMPLE_ENTITY).build(); // when @@ -1957,7 +1957,7 @@ public abstract class ElasticsearchTemplateTests { IndexQuery indexQuery = getIndexQuery(sampleEntity); elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).build(); // when @@ -2023,7 +2023,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(INDEX_1_NAME); elasticsearchTemplate.refresh(INDEX_2_NAME); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_1_NAME, INDEX_2_NAME).build(); // when @@ -2125,7 +2125,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(INDEX_1_NAME); elasticsearchTemplate.refresh(INDEX_2_NAME); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withIndices(INDEX_1_NAME) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withIndices(INDEX_1_NAME) .build(); // when @@ -2165,7 +2165,7 @@ public abstract class ElasticsearchTemplateTests { IndexQuery indexQuery = getIndexQuery(sampleEntity); elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); // when assertThatThrownBy(() -> { @@ -2263,7 +2263,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(INDEX_1_NAME); elasticsearchTemplate.refresh(INDEX_2_NAME); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_1_NAME, INDEX_2_NAME).build(); // when @@ -2293,7 +2293,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(INDEX_2_NAME); // when - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withTypes("hetro") + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withTypes("hetro") .withIndices(INDEX_1_NAME, INDEX_2_NAME).build(); Page page = elasticsearchTemplate.queryForPage(searchQuery, ResultAggregator.class); @@ -2371,7 +2371,7 @@ public abstract class ElasticsearchTemplateTests { // then // document with id "remainingDocumentId" should still be indexed - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); assertThat(sampleEntities.getTotalElements()).isEqualTo(1); assertThat(sampleEntities.getContent().get(0).getId()).isEqualTo(remainingDocumentId); @@ -2402,7 +2402,7 @@ public abstract class ElasticsearchTemplateTests { // then // document with id "remainingDocumentId" should still be indexed - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); assertThat(sampleEntities.getTotalElements()).isEqualTo(1); assertThat(sampleEntities.getContent().get(0).getId()).isEqualTo(remainingDocumentId); @@ -2431,7 +2431,7 @@ public abstract class ElasticsearchTemplateTests { // then // document with id "remainingDocumentId" should still be indexed - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = elasticsearchTemplate.queryForPage(searchQuery, SampleEntity.class); assertThat(sampleEntities.getTotalElements()).isEqualTo(1L); assertThat(sampleEntities.getContent().get(0).getId()).isEqualTo(remainingDocumentId); @@ -2492,7 +2492,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.refresh(SampleEntity.class); // when - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchQuery("message", "message")) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchQuery("message", "message")) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).withPageable(PageRequest.of(0, 10)).build(); ScrolledPage scroll = elasticsearchTemplate.startScroll(1000, searchQuery, SampleEntity.class); @@ -2522,7 +2522,7 @@ public abstract class ElasticsearchTemplateTests { // then SourceFilter sourceFilter = new FetchSourceFilter(new String[] { "id" }, new String[] {}); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).withPageable(PageRequest.of(0, 10)) .withSourceFilter(sourceFilter).build(); @@ -2565,7 +2565,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.bulkIndex(indexQueries); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withSort(new FieldSortBuilder("rate").order(SortOrder.ASC)) .withSort(new FieldSortBuilder("message").order(SortOrder.DESC)).withPageable(PageRequest.of(0, 10)).build(); @@ -2611,7 +2611,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.bulkIndex(indexQueries); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withPageable( PageRequest.of(0, 10, Sort.by(Sort.Direction.ASC, "rate").and(Sort.by(Sort.Direction.DESC, "message")))) .build(); @@ -2649,7 +2649,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.bulkIndex(indexQueries); elasticsearchTemplate.refresh(SampleEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withIndices(INDEX_NAME_SAMPLE_ENTITY).withTypes(TYPE_NAME).withCollapseField("rate").build(); // when @@ -2785,7 +2785,7 @@ public abstract class ElasticsearchTemplateTests { elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(INDEX_NAME_SAMPLE_ENTITY); - SearchQuery query = new NativeSearchQueryBuilder() // + NativeSearchQuery query = new NativeSearchQueryBuilder() // .withQuery(matchAllQuery()) // .withIndices(alias) // .withTypes(TYPE_NAME) // diff --git a/src/test/java/org/springframework/data/elasticsearch/core/LogEntityTests.java b/src/test/java/org/springframework/data/elasticsearch/core/LogEntityTests.java index 5d9790494..0e033a625 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/LogEntityTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/LogEntityTests.java @@ -35,8 +35,8 @@ import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.core.query.IndexQuery; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.data.elasticsearch.core.query.SearchQuery; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; @@ -81,7 +81,7 @@ public class LogEntityTests { public void shouldIndexGivenLogEntityWithIPFieldType() { // when - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("ip", "10.10.10.1")).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("ip", "10.10.10.1")).build(); List entities = template.queryForList(searchQuery, LogEntity.class); // then @@ -92,7 +92,7 @@ public class LogEntityTests { public void shouldThrowExceptionWhenInvalidIPGivenForSearchQuery() { // when - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("ip", "10.10.10")).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("ip", "10.10.10")).build(); assertThatThrownBy(() -> { List entities = template.queryForList(searchQuery, LogEntity.class); @@ -103,7 +103,7 @@ public class LogEntityTests { public void shouldReturnLogsForGivenIPRanges() { // when - SearchQuery searchQuery = new NativeSearchQueryBuilder() + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() .withQuery(rangeQuery("ip").from("10.10.10.1").to("10.10.10.3")).build(); List entities = template.queryForList(searchQuery, LogEntity.class); diff --git a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateTests.java b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateTests.java index 255daf908..1ef1c729e 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/ReactiveElasticsearchTemplateTests.java @@ -57,8 +57,8 @@ import org.springframework.data.elasticsearch.core.query.Criteria; import org.springframework.data.elasticsearch.core.query.CriteriaQuery; import org.springframework.data.elasticsearch.core.query.IndexQuery; import org.springframework.data.elasticsearch.core.query.IndexQueryBuilder; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.data.elasticsearch.core.query.SearchQuery; import org.springframework.data.elasticsearch.core.query.StringQuery; import org.springframework.data.elasticsearch.junit.junit4.ElasticsearchVersion; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; @@ -589,7 +589,7 @@ public class ReactiveElasticsearchTemplateTests { restTemplate.refresh(thisIndex); restTemplate.refresh(thatIndex); - SearchQuery searchQuery = new NativeSearchQueryBuilder() // + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() // .withQuery(termQuery("message", "test")) // .withIndices(indexPrefix + "*") // .build(); @@ -619,7 +619,7 @@ public class ReactiveElasticsearchTemplateTests { restTemplate.refresh(thisIndex); restTemplate.refresh(thatIndex); - SearchQuery searchQuery = new NativeSearchQueryBuilder() // + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() // .withQuery(termQuery("message", "negative")) // .withIndices(indexPrefix + "*") // .build(); @@ -671,7 +671,7 @@ public class ReactiveElasticsearchTemplateTests { entity3.setRate(1); index(entity1, entity2, entity3); - SearchQuery query = new NativeSearchQueryBuilder() // + NativeSearchQuery query = new NativeSearchQueryBuilder() // .withIndices(DEFAULT_INDEX) // .withQuery(matchAllQuery()) // .withCollapseField("rate") // diff --git a/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java b/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java index 1c44aa6c0..3789e67e0 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/aggregation/ElasticsearchTemplateAggregationTests.java @@ -42,8 +42,8 @@ import org.springframework.data.elasticsearch.annotations.MultiField; import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.core.ResultsExtractor; import org.springframework.data.elasticsearch.core.query.IndexQuery; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.data.elasticsearch.core.query.SearchQuery; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; @@ -106,7 +106,7 @@ public class ElasticsearchTemplateAggregationTests { public void shouldReturnAggregatedResponseForGivenSearchQuery() { // given - SearchQuery searchQuery = new NativeSearchQueryBuilder() // + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() // .withQuery(matchAllQuery()) // .withSearchType(SearchType.DEFAULT) // .withIndices(INDEX_NAME).withTypes("article") // diff --git a/src/test/java/org/springframework/data/elasticsearch/core/facet/ElasticsearchTemplateFacetTests.java b/src/test/java/org/springframework/data/elasticsearch/core/facet/ElasticsearchTemplateFacetTests.java index 2ed3acf06..9b73cfda8 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/facet/ElasticsearchTemplateFacetTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/facet/ElasticsearchTemplateFacetTests.java @@ -49,8 +49,8 @@ import org.springframework.data.elasticsearch.core.facet.result.StatisticalResul import org.springframework.data.elasticsearch.core.facet.result.Term; import org.springframework.data.elasticsearch.core.facet.result.TermResult; import org.springframework.data.elasticsearch.core.query.IndexQuery; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.data.elasticsearch.core.query.SearchQuery; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.utils.IndexInitializer; @@ -104,7 +104,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "fauthors"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new TermFacetRequestBuilder(facetName).fields("authors.untouched").build()).build(); // when @@ -139,7 +139,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "fauthors"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new TermFacetRequestBuilder(facetName).applyQueryFilter().fields("authors.untouched").build()) .build(); // when @@ -171,7 +171,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "fauthors"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new TermFacetRequestBuilder(facetName).applyQueryFilter().fields("authors.untouched") .excludeTerms(RIZWAN_IDREES, ARTUR_KONCZAK).build()) .build(); @@ -204,7 +204,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "fauthors"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new TermFacetRequestBuilder(facetName).fields("authors.untouched").ascTerm().build()).build(); // when @@ -240,7 +240,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "fauthors"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new TermFacetRequestBuilder(facetName).fields("authors.untouched").ascCount().build()).build(); // when @@ -276,7 +276,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "fyears"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new TermFacetRequestBuilder(facetName).fields("publishedYears").descCount().build()).build(); // when @@ -310,7 +310,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "fyears"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet( new TermFacetRequestBuilder(facetName).applyQueryFilter().fields("publishedYears").descCount().build()) .build(); @@ -347,7 +347,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "fyears"; assertThatThrownBy(() -> { - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet( new TermFacetRequestBuilder(facetName).fields("publishedYears", "authors.untouched").ascTerm().build()) .build(); @@ -360,7 +360,7 @@ public class ElasticsearchTemplateFacetTests { // given String numberFacetName = "fAuthors"; String stringFacetName = "fyears"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new TermFacetRequestBuilder(numberFacetName).fields("publishedYears").ascTerm().build()) .withFacet(new TermFacetRequestBuilder(stringFacetName).fields("authors.untouched").ascTerm().build()).build(); @@ -413,7 +413,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "fyears"; assertThatThrownBy(() -> { - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new NativeFacetRequest()).build(); }).isInstanceOf(UnsupportedOperationException.class); } @@ -423,7 +423,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "regex_authors"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withFacet( + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withFacet( new TermFacetRequestBuilder(facetName).applyQueryFilter().fields("authors.untouched").regex("Art.*").build()) .build(); @@ -451,7 +451,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "all_authors"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet( new TermFacetRequestBuilder(facetName).applyQueryFilter().fields("authors.untouched").allTerms().build()) .build(); @@ -476,7 +476,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "rangeYears"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new RangeFacetRequestBuilder(facetName).field(PUBLISHED_YEARS).to(YEAR_2000) .range(YEAR_2000, YEAR_2002).from(YEAR_2002).build()) .build(); @@ -514,7 +514,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "rangeScoreOverYears"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new RangeFacetRequestBuilder(facetName).fields(PUBLISHED_YEARS, "score").to(YEAR_2000) .range(YEAR_2000, YEAR_2002).from(YEAR_2002).build()) .build(); @@ -552,7 +552,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "statPublishedYear"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new StatisticalFacetRequestBuilder(facetName).field(PUBLISHED_YEARS).build()).build(); // when @@ -572,7 +572,7 @@ public class ElasticsearchTemplateFacetTests { // given String facetName = "numberPublicationPerYear"; - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()) .withFacet(new HistogramFacetRequestBuilder(facetName).field(PUBLISHED_YEARS).interval(1).build()).build(); // when @@ -600,7 +600,7 @@ public class ElasticsearchTemplateFacetTests { @Test public void shouldNotThrowExceptionForNoFacets() { - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); AggregatedPage result = elasticsearchTemplate.queryForPage(searchQuery, ArticleEntity.class); assertThat(result.hasFacets()).isEqualTo(false); diff --git a/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderTests.java b/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderTests.java index e48a5081f..f2bbab71c 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderTests.java @@ -54,8 +54,8 @@ import org.springframework.data.elasticsearch.core.ElasticsearchOperations; import org.springframework.data.elasticsearch.core.completion.Completion; import org.springframework.data.elasticsearch.core.geo.GeoPoint; import org.springframework.data.elasticsearch.core.query.IndexQuery; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.data.elasticsearch.core.query.SearchQuery; import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.geo.Box; @@ -143,7 +143,7 @@ public class MappingBuilderTests extends MappingContextBaseTests { .index(buildIndex(StockPrice.builder().id(id).symbol(symbol).price(BigDecimal.valueOf(price)).build())); elasticsearchTemplate.refresh(StockPrice.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); List result = elasticsearchTemplate.queryForList(searchQuery, StockPrice.class); // Then @@ -190,7 +190,7 @@ public class MappingBuilderTests extends MappingContextBaseTests { .index(new SampleInheritedEntityBuilder(id).createdDate(createdDate).message(message).buildIndex()); elasticsearchTemplate.refresh(SampleInheritedEntity.class); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); List result = elasticsearchTemplate.queryForList(searchQuery, SampleInheritedEntity.class); // then diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/setting/dynamic/DynamicSettingAndMappingEntityRepositoryTests.java b/src/test/java/org/springframework/data/elasticsearch/repositories/setting/dynamic/DynamicSettingAndMappingEntityRepositoryTests.java index a9c92f9e7..65ae990f5 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/setting/dynamic/DynamicSettingAndMappingEntityRepositoryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/setting/dynamic/DynamicSettingAndMappingEntityRepositoryTests.java @@ -22,21 +22,24 @@ import java.util.Map; import org.apache.commons.lang.RandomStringUtils; import org.elasticsearch.index.query.QueryBuilders; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Mapping; import org.springframework.data.elasticsearch.annotations.Setting; import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.data.elasticsearch.core.query.SearchQuery; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.ElasticsearchCrudRepository; +import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.elasticsearch.utils.IndexInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * DynamicSettingAndMappingEntityRepositoryTests @@ -45,15 +48,22 @@ import org.springframework.test.context.junit4.SpringRunner; * @author Ilkang Na * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) -@ContextConfiguration("classpath:dynamic-settings-test.xml") +@SpringIntegrationTest +@ContextConfiguration(classes = { DynamicSettingAndMappingEntityRepositoryTests.Config.class }) public class DynamicSettingAndMappingEntityRepositoryTests { + @Configuration + @Import({ ElasticsearchTemplateConfiguration.class }) + @EnableElasticsearchRepositories( + basePackages = { "org.springframework.data.elasticsearch.repositories.setting.dynamic" }, + considerNestedRepositories = true) + static class Config {} + @Autowired private DynamicSettingAndMappingEntityRepository repository; @Autowired private ElasticsearchTemplate elasticsearchTemplate; - @Before + @BeforeEach public void before() { IndexInitializer.init(elasticsearchTemplate, DynamicSettingAndMappingEntity.class); } @@ -94,7 +104,7 @@ public class DynamicSettingAndMappingEntityRepositoryTests { repository.save(dynamicSettingAndMappingEntity2); // when - SearchQuery searchQuery = new NativeSearchQueryBuilder() + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder() .withQuery(QueryBuilders.termQuery("email", dynamicSettingAndMappingEntity1.getEmail())).build(); long count = elasticsearchTemplate.count(searchQuery, DynamicSettingAndMappingEntity.class); diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/setting/fielddynamic/FieldDynamicMappingEntityRepositoryTests.java b/src/test/java/org/springframework/data/elasticsearch/repositories/setting/fielddynamic/FieldDynamicMappingEntityRepositoryTests.java index a02263882..9693a4050 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/setting/fielddynamic/FieldDynamicMappingEntityRepositoryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/setting/fielddynamic/FieldDynamicMappingEntityRepositoryTests.java @@ -19,19 +19,21 @@ import static org.assertj.core.api.Assertions.*; import java.util.Map; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Mapping; import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.ElasticsearchCrudRepository; +import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.elasticsearch.utils.IndexInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * FieldDynamicMappingEntityRepositoryTests @@ -39,15 +41,22 @@ import org.springframework.test.context.junit4.SpringRunner; * @author Ted Liang * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) -@ContextConfiguration("classpath:field-dynamic-settings-test.xml") +@SpringIntegrationTest +@ContextConfiguration(classes = { FieldDynamicMappingEntityRepositoryTests.Config.class }) public class FieldDynamicMappingEntityRepositoryTests { + @Configuration + @Import({ ElasticsearchTemplateConfiguration.class }) + @EnableElasticsearchRepositories( + basePackages = { "org.springframework.data.elasticsearch.repositories.setting.fielddynamic" }, + considerNestedRepositories = true) + static class Config {} + @Autowired private FieldDynamicMappingEntityRepository repository; @Autowired private ElasticsearchTemplate elasticsearchTemplate; - @Before + @BeforeEach public void before() { IndexInitializer.init(elasticsearchTemplate, FieldDynamicMappingEntity.class); } diff --git a/src/test/java/org/springframework/data/elasticsearch/repositories/uuidkeyed/UUIDElasticsearchRepositoryTests.java b/src/test/java/org/springframework/data/elasticsearch/repositories/uuidkeyed/UUIDElasticsearchRepositoryTests.java index 08a7c54a8..27a7608c2 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repositories/uuidkeyed/UUIDElasticsearchRepositoryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repositories/uuidkeyed/UUIDElasticsearchRepositoryTests.java @@ -29,11 +29,11 @@ import java.util.List; import java.util.Optional; import java.util.UUID; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; - +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Version; import org.springframework.data.domain.Page; @@ -46,12 +46,14 @@ import org.springframework.data.elasticsearch.annotations.FieldType; import org.springframework.data.elasticsearch.annotations.ScriptedField; import org.springframework.data.elasticsearch.core.ElasticsearchTemplate; import org.springframework.data.elasticsearch.core.geo.GeoPoint; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.data.elasticsearch.core.query.SearchQuery; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; +import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.elasticsearch.utils.IndexInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * @author Gad Akuka @@ -62,15 +64,21 @@ import org.springframework.test.context.junit4.SpringRunner; * @author Michael Wirth * @author Peter-Josef Meisch */ -@RunWith(SpringRunner.class) -@ContextConfiguration("classpath:/uuidkeyed-repository-test.xml") +@SpringIntegrationTest +@ContextConfiguration(classes = { UUIDElasticsearchRepositoryTests.Config.class }) public class UUIDElasticsearchRepositoryTests { + @Configuration + @Import({ ElasticsearchTemplateConfiguration.class }) + @EnableElasticsearchRepositories(basePackages = { "org.springframework.data.elasticsearch.repositories.uuidkeyed" }, + considerNestedRepositories = true) + static class Config {} + @Autowired private SampleUUIDKeyedElasticsearchRepository repository; @Autowired private ElasticsearchTemplate elasticsearchTemplate; - @Before + @BeforeEach public void before() { IndexInitializer.init(elasticsearchTemplate, SampleEntityUUIDKeyed.class); @@ -198,7 +206,7 @@ public class UUIDElasticsearchRepositoryTests { sampleEntityUUIDKeyed.setVersion(System.currentTimeMillis()); repository.save(sampleEntityUUIDKeyed); - SearchQuery query = new NativeSearchQueryBuilder().withQuery(termQuery("message", "test")).build(); + NativeSearchQuery query = new NativeSearchQueryBuilder().withQuery(termQuery("message", "test")).build(); // when Page page = repository.search(query); @@ -319,7 +327,7 @@ public class UUIDElasticsearchRepositoryTests { repository.deleteAll(); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isEqualTo(0L); } @@ -339,7 +347,8 @@ public class UUIDElasticsearchRepositoryTests { long result = repository.deleteSampleEntityUUIDKeyedById(documentId); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId.toString())).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId.toString())) + .build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isGreaterThanOrEqualTo(0); assertThat(result).isEqualTo(1L); @@ -377,7 +386,7 @@ public class UUIDElasticsearchRepositoryTests { // then assertThat(result).hasSize(2); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isEqualTo(1); } @@ -411,7 +420,7 @@ public class UUIDElasticsearchRepositoryTests { // then assertThat(result).hasSize(1); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isEqualTo(2); } @@ -444,7 +453,7 @@ public class UUIDElasticsearchRepositoryTests { repository.refresh(); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isEqualTo(2); } @@ -465,7 +474,8 @@ public class UUIDElasticsearchRepositoryTests { repository.refresh(); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId.toString())).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId.toString())) + .build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isEqualTo(0); } diff --git a/src/test/java/org/springframework/data/elasticsearch/repository/support/simple/SimpleElasticsearchRepositoryTests.java b/src/test/java/org/springframework/data/elasticsearch/repository/support/simple/SimpleElasticsearchRepositoryTests.java index 2f1572888..506c56b87 100644 --- a/src/test/java/org/springframework/data/elasticsearch/repository/support/simple/SimpleElasticsearchRepositoryTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/repository/support/simple/SimpleElasticsearchRepositoryTests.java @@ -33,29 +33,28 @@ import java.util.List; import java.util.Optional; import org.elasticsearch.action.ActionRequestValidationException; -import org.junit.Before; -import org.junit.ClassRule; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Version; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort.Order; -import org.springframework.data.elasticsearch.RestElasticsearchTestConfiguration; -import org.springframework.data.elasticsearch.junit.junit4.TestNodeResource; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.core.ElasticsearchOperations; +import org.springframework.data.elasticsearch.core.query.NativeSearchQuery; import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder; -import org.springframework.data.elasticsearch.core.query.SearchQuery; +import org.springframework.data.elasticsearch.junit.jupiter.ElasticsearchRestTemplateConfiguration; +import org.springframework.data.elasticsearch.junit.jupiter.SpringIntegrationTest; import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories; import org.springframework.data.elasticsearch.utils.IndexInitializer; import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringRunner; /** * @author Rizwan Idrees @@ -66,18 +65,22 @@ import org.springframework.test.context.junit4.SpringRunner; * @author Peter-Josef Meisch * @author Murali Chevuri */ -@RunWith(SpringRunner.class) -@ContextConfiguration(classes = { SimpleElasticsearchRepositoryTests.class, RestElasticsearchTestConfiguration.class }) -@EnableElasticsearchRepositories(considerNestedRepositories = true) +@SpringIntegrationTest +@ContextConfiguration(classes = { SimpleElasticsearchRepositoryTests.Config.class }) public class SimpleElasticsearchRepositoryTests { - @ClassRule public static TestNodeResource testNodeResource = new TestNodeResource(); + @Configuration + @Import({ ElasticsearchRestTemplateConfiguration.class }) + @EnableElasticsearchRepositories( + basePackages = { "org.springframework.data.elasticsearch.repository.support.simple" }, + considerNestedRepositories = true) + static class Config {} @Autowired private SampleElasticsearchRepository repository; @Autowired private ElasticsearchOperations elasticsearchOperations; - @Before + @BeforeEach public void before() { IndexInitializer.init(elasticsearchOperations, SampleEntity.class); } @@ -127,7 +130,7 @@ public class SimpleElasticsearchRepositoryTests { assertThat(entityFromElasticSearch).isPresent(); } - @Test(expected = ActionRequestValidationException.class) + @Test public void throwExceptionWhenTryingToInsertWithVersionButWithoutId() { // given @@ -136,10 +139,9 @@ public class SimpleElasticsearchRepositoryTests { sampleEntity.setVersion(System.currentTimeMillis()); // when - repository.save(sampleEntity); - - // then - assertThat(sampleEntity.getId()).isNotNull(); + assertThatThrownBy(() -> { + repository.save(sampleEntity); + }).isInstanceOf(ActionRequestValidationException.class); } @Test @@ -219,7 +221,7 @@ public class SimpleElasticsearchRepositoryTests { sampleEntity.setVersion(System.currentTimeMillis()); repository.save(sampleEntity); - SearchQuery query = new NativeSearchQueryBuilder().withQuery(termQuery("message", "test")).build(); + NativeSearchQuery query = new NativeSearchQueryBuilder().withQuery(termQuery("message", "test")).build(); // when Page page = repository.search(query); @@ -342,7 +344,7 @@ public class SimpleElasticsearchRepositoryTests { repository.save(sampleEntity); // when - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); Page sampleEntities = repository.search(searchQuery); // then @@ -356,7 +358,7 @@ public class SimpleElasticsearchRepositoryTests { repository.deleteAll(); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isEqualTo(0L); } @@ -377,7 +379,7 @@ public class SimpleElasticsearchRepositoryTests { repository.refresh(); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isEqualTo(0L); assertThat(result).isEqualTo(1L); @@ -415,7 +417,7 @@ public class SimpleElasticsearchRepositoryTests { // then assertThat(result).hasSize(2); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isEqualTo(1L); } @@ -449,7 +451,7 @@ public class SimpleElasticsearchRepositoryTests { // then assertThat(result).hasSize(1); - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isEqualTo(2L); } @@ -482,7 +484,7 @@ public class SimpleElasticsearchRepositoryTests { repository.refresh(); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isEqualTo(2L); } @@ -502,7 +504,7 @@ public class SimpleElasticsearchRepositoryTests { repository.delete(sampleEntity); // then - SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); + NativeSearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(termQuery("id", documentId)).build(); Page sampleEntities = repository.search(searchQuery); assertThat(sampleEntities.getTotalElements()).isEqualTo(0L); } diff --git a/src/test/resources/dynamic-settings-test.xml b/src/test/resources/dynamic-settings-test.xml deleted file mode 100644 index c042b3e98..000000000 --- a/src/test/resources/dynamic-settings-test.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - diff --git a/src/test/resources/uuidkeyed-repository-test.xml b/src/test/resources/uuidkeyed-repository-test.xml deleted file mode 100644 index 48de5880d..000000000 --- a/src/test/resources/uuidkeyed-repository-test.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - -