DATAES-688 - Remove unneeded SearchQuery subinterface.

Original PR: #343
This commit is contained in:
Peter-Josef Meisch 2019-11-08 16:44:52 +01:00 committed by GitHub
parent 62385edaa5
commit 26ab706e87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 264 additions and 343 deletions

View File

@ -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<AliasMetaData> queryForAlias(String indexName);
<T> T query(SearchQuery query, ResultsExtractor<T> resultsExtractor);
<T> T query(NativeSearchQuery query, ResultsExtractor<T> resultsExtractor);
/**
* Execute the query against elasticsearch and return the first returned object
@ -205,7 +196,7 @@ public interface ElasticsearchOperations {
* @param clazz
* @return
*/
<T> Page<T> queryForPage(SearchQuery query, Class<T> clazz);
<T> Page<T> queryForPage(NativeSearchQuery query, Class<T> 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
*/
<T> List<Page<T>> queryForPage(List<SearchQuery> queries, Class<T> clazz);
<T> List<Page<T>> queryForPage(List<NativeSearchQuery> queries, Class<T> 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<Page<?>> queryForPage(List<SearchQuery> queries, List<Class<?>> classes);
List<Page<?>> queryForPage(List<NativeSearchQuery> queries, List<Class<?>> classes);
/**
* Execute the query against elasticsearch and return result as {@link Page}
@ -258,7 +249,7 @@ public interface ElasticsearchOperations {
<T> CloseableIterator<T> stream(CriteriaQuery query, Class<T> 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}.
* <p>
* 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
*/
<T> CloseableIterator<T> stream(SearchQuery query, Class<T> clazz);
<T> CloseableIterator<T> stream(NativeSearchQuery query, Class<T> clazz);
/**
* Execute the criteria query against elasticsearch and return result as {@link List}
@ -299,7 +290,7 @@ public interface ElasticsearchOperations {
* @param <T>
* @return
*/
<T> List<T> queryForList(SearchQuery query, Class<T> clazz);
<T> List<T> queryForList(NativeSearchQuery query, Class<T> clazz);
/**
* Execute the multi search query against elasticsearch and return result as {@link List}
@ -309,7 +300,7 @@ public interface ElasticsearchOperations {
* @param <T>
* @return
*/
default <T> List<List<T>> queryForList(List<SearchQuery> queries, Class<T> clazz) {
default <T> List<List<T>> queryForList(List<NativeSearchQuery> queries, Class<T> clazz) {
return queryForPage(queries, clazz).stream().map(Page::getContent).collect(Collectors.toList());
}
@ -320,7 +311,7 @@ public interface ElasticsearchOperations {
* @param classes
* @return
*/
default List<List<?>> queryForList(List<SearchQuery> queries, List<Class<?>> classes) {
default List<List<?>> queryForList(List<NativeSearchQuery> queries, List<Class<?>> classes) {
return queryForPage(queries, classes).stream().map(Page::getContent).collect(Collectors.toList());
}
@ -330,7 +321,7 @@ public interface ElasticsearchOperations {
* @param query
* @return
*/
<T> List<String> queryForIds(SearchQuery query);
<T> List<String> queryForIds(NativeSearchQuery query);
/**
* return number of elements found by given query
@ -356,7 +347,7 @@ public interface ElasticsearchOperations {
* @param clazz
* @return
*/
<T> long count(SearchQuery query, Class<T> clazz);
<T> long count(NativeSearchQuery query, Class<T> clazz);
/**
* return number of elements found by given query
@ -364,7 +355,7 @@ public interface ElasticsearchOperations {
* @param query
* @return
*/
<T> long count(SearchQuery query);
<T> long count(NativeSearchQuery query);
/**
* Execute a multiGet against elasticsearch for the given ids
@ -373,7 +364,7 @@ public interface ElasticsearchOperations {
* @param clazz
* @return
*/
<T> List<T> multiGet(SearchQuery searchQuery, Class<T> clazz);
<T> List<T> multiGet(NativeSearchQuery searchQuery, Class<T> 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.
*/
<T> ScrolledPage<T> startScroll(long scrollTimeInMillis, SearchQuery query, Class<T> clazz);
<T> ScrolledPage<T> startScroll(long scrollTimeInMillis, NativeSearchQuery query, Class<T> clazz);
/**
* Returns scrolled page for given query

View File

@ -349,28 +349,29 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate
}
@Override
public <T> AggregatedPage<T> queryForPage(SearchQuery query, Class<T> clazz) {
public <T> AggregatedPage<T> queryForPage(NativeSearchQuery query, Class<T> clazz) {
SearchResponse response = doSearch(prepareSearch(query, clazz), query);
return elasticsearchConverter.mapResults(SearchDocumentResponse.from(response), clazz, query.getPageable());
}
private <T> List<Page<T>> doMultiSearch(List<SearchQuery> queries, Class<T> clazz, MultiSearchRequest request) {
private <T> List<Page<T>> doMultiSearch(List<NativeSearchQuery> queries, Class<T> clazz, MultiSearchRequest request) {
MultiSearchResponse.Item[] items = getMultiSearchResult(request);
List<Page<T>> 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<Page<?>> doMultiSearch(List<SearchQuery> queries, List<Class<?>> classes, MultiSearchRequest request) {
private List<Page<?>> doMultiSearch(List<NativeSearchQuery> queries, List<Class<?>> classes,
MultiSearchRequest request) {
MultiSearchResponse.Item[] items = getMultiSearchResult(request);
List<Page<?>> res = new ArrayList<>(queries.size());
int c = 0;
Iterator<Class<?>> 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 <T> List<Page<T>> queryForPage(List<SearchQuery> queries, Class<T> clazz) {
public <T> List<Page<T>> queryForPage(List<NativeSearchQuery> queries, Class<T> 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<Page<?>> queryForPage(List<SearchQuery> queries, List<Class<?>> classes) {
public List<Page<?>> queryForPage(List<NativeSearchQuery> queries, List<Class<?>> classes) {
MultiSearchRequest request = new MultiSearchRequest();
Iterator<Class<?>> 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> T query(SearchQuery query, ResultsExtractor<T> resultsExtractor) {
public <T> T query(NativeSearchQuery query, ResultsExtractor<T> 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 <T> List<T> queryForList(SearchQuery query, Class<T> clazz) {
public <T> List<T> queryForList(NativeSearchQuery query, Class<T> clazz) {
return queryForPage(query, clazz).getContent();
}
@Override
public <T> List<String> queryForIds(SearchQuery query) {
public <T> List<String> 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 <T> CloseableIterator<T> stream(SearchQuery query, Class<T> clazz) {
public <T> CloseableIterator<T> stream(NativeSearchQuery query, Class<T> 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 <T> long count(SearchQuery searchQuery, Class<T> clazz) {
public <T> long count(NativeSearchQuery searchQuery, Class<T> clazz) {
QueryBuilder elasticsearchQuery = searchQuery.getQuery();
QueryBuilder elasticsearchFilter = searchQuery.getFilter();
@ -545,7 +546,7 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate
}
@Override
public <T> long count(SearchQuery query) {
public <T> long count(NativeSearchQuery query) {
return count(query, null);
}
@ -599,7 +600,7 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate
}
@Override
public <T> List<T> multiGet(SearchQuery searchQuery, Class<T> clazz) {
public <T> List<T> multiGet(NativeSearchQuery searchQuery, Class<T> 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 <T> ScrolledPage<T> startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class<T> clazz) {
public <T> ScrolledPage<T> startScroll(long scrollTimeInMillis, NativeSearchQuery searchQuery, Class<T> 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 <T> SearchRequest prepareSearch(SearchQuery query, Class<T> clazz) {
private <T> SearchRequest prepareSearch(NativeSearchQuery query, Class<T> clazz) {
setPersistentEntityIndexAndType(query, clazz);
return prepareSearch(query, Optional.ofNullable(query.getQuery()), clazz);
}

View File

@ -281,37 +281,38 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate
}
@Override
public <T> AggregatedPage<T> queryForPage(SearchQuery query, Class<T> clazz) {
public <T> AggregatedPage<T> queryForPage(NativeSearchQuery query, Class<T> clazz) {
SearchResponse response = doSearch(prepareSearch(query, clazz), query);
return elasticsearchConverter.mapResults(SearchDocumentResponse.from(response), clazz, query.getPageable());
}
@Override
public <T> List<Page<T>> queryForPage(List<SearchQuery> queries, Class<T> clazz) {
public <T> List<Page<T>> queryForPage(List<NativeSearchQuery> queries, Class<T> 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 <T> List<Page<T>> doMultiSearch(List<SearchQuery> queries, Class<T> clazz, MultiSearchRequest request) {
private <T> List<Page<T>> doMultiSearch(List<NativeSearchQuery> queries, Class<T> clazz, MultiSearchRequest request) {
MultiSearchResponse.Item[] items = getMultiSearchResult(request);
List<Page<T>> 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<Page<?>> doMultiSearch(List<SearchQuery> queries, List<Class<?>> classes, MultiSearchRequest request) {
private List<Page<?>> doMultiSearch(List<NativeSearchQuery> queries, List<Class<?>> classes,
MultiSearchRequest request) {
MultiSearchResponse.Item[] items = getMultiSearchResult(request);
List<Page<?>> res = new ArrayList<>(queries.size());
int c = 0;
Iterator<Class<?>> 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<Page<?>> queryForPage(List<SearchQuery> queries, List<Class<?>> classes) {
public List<Page<?>> queryForPage(List<NativeSearchQuery> queries, List<Class<?>> classes) {
Assert.isTrue(queries.size() == classes.size(), "Queries should have same length with classes");
MultiSearchRequest request = new MultiSearchRequest();
Iterator<Class<?>> 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> T query(SearchQuery query, ResultsExtractor<T> resultsExtractor) {
public <T> T query(NativeSearchQuery query, ResultsExtractor<T> resultsExtractor) {
SearchResponse response = doSearch(prepareSearch(query, (ElasticsearchPersistentEntity) null), query);
return resultsExtractor.extract(response);
}
@ -354,12 +355,12 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate
}
@Override
public <T> List<T> queryForList(SearchQuery query, Class<T> clazz) {
public <T> List<T> queryForList(NativeSearchQuery query, Class<T> clazz) {
return queryForPage(query, clazz).getContent();
}
@Override
public <T> List<String> queryForIds(SearchQuery query) {
public <T> List<String> 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 <T> CloseableIterator<T> stream(SearchQuery query, Class<T> clazz) {
public <T> CloseableIterator<T> stream(NativeSearchQuery query, Class<T> 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 <T> long count(SearchQuery searchQuery, Class<T> clazz) {
public <T> long count(NativeSearchQuery searchQuery, Class<T> clazz) {
QueryBuilder elasticsearchQuery = searchQuery.getQuery();
QueryBuilder elasticsearchFilter = searchQuery.getFilter();
@ -453,7 +454,7 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate
}
@Override
public <T> long count(SearchQuery query) {
public <T> long count(NativeSearchQuery query) {
return count(query, null);
}
@ -497,7 +498,7 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate
}
@Override
public <T> List<T> multiGet(SearchQuery searchQuery, Class<T> clazz) {
public <T> List<T> multiGet(NativeSearchQuery searchQuery, Class<T> 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 <T> ScrolledPage<T> startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class<T> clazz) {
public <T> ScrolledPage<T> startScroll(long scrollTimeInMillis, NativeSearchQuery searchQuery, Class<T> 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());
}

View File

@ -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;

View File

@ -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<ScriptField> 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<FacetRequest> getFacets() {
return facets;
}
@Override
public List<AbstractAggregationBuilder> getAggregations() {
return aggregations;
}
@ -165,7 +160,6 @@ public class NativeSearchQuery extends AbstractQuery implements SearchQuery {
this.aggregations = aggregations;
}
@Override
public List<IndexBoost> getIndicesBoost() {
return indicesBoost;
}

View File

@ -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<SortBuilder> getElasticsearchSorts();
@Deprecated
List<FacetRequest> getFacets();
List<AbstractAggregationBuilder> getAggregations();
HighlightBuilder getHighlightBuilder();
HighlightBuilder.Field[] getHighlightFields();
List<IndexBoost> getIndicesBoost();
List<ScriptField> getScriptFields();
CollapseBuilder getCollapseBuilder();
}

View File

@ -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<T, ID> extends ElasticsearchCrudRepository<T, ID> {
@ -45,7 +46,7 @@ public interface ElasticsearchRepository<T, ID> extends ElasticsearchCrudReposit
Page<T> search(QueryBuilder query, Pageable pageable);
Page<T> search(SearchQuery searchQuery);
Page<T> search(NativeSearchQuery searchQuery);
Page<T> searchSimilar(T entity, String[] fields, Pageable pageable);

View File

@ -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<T, ID> implements Elastics
@Override
public Page<T> 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<T, ID> implements Elastics
return new PageImpl<>(Collections.<T> 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<T, ID> 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<T, ID> 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<T, ID> implements Elastics
@Override
public Iterable<T> 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.<T> emptyList());
@ -244,13 +244,13 @@ public abstract class AbstractElasticsearchRepository<T, ID> implements Elastics
@Override
public Page<T> 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<T> search(SearchQuery query) {
public Page<T> search(NativeSearchQuery query) {
return elasticsearchOperations.queryForPage(query, getEntityClass());
}

View File

@ -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<Person> 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<PersonMultipleLevelNested> 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<Person> 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<Book> books = elasticsearchTemplate.queryForPage(searchQuery, Book.class);

View File

@ -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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> entities = new ArrayList<>();
@ -1539,7 +1539,7 @@ public abstract class ElasticsearchTemplateTests {
elasticsearchTemplate.refresh(SampleEntity.class);
// when
List<SearchQuery> queries = new ArrayList<>();
List<NativeSearchQuery> 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<SearchQuery> queries = new ArrayList<>();
List<NativeSearchQuery> 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<SampleEntity> 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<String> 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<SampleEntity> 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<SampleEntity> 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<Map> 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<GTEVersionEntity> 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<SampleEntity> 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<ResultAggregator> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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) //

View File

@ -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<LogEntity> 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<LogEntity> 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<LogEntity> entities = template.queryForList(searchQuery, LogEntity.class);

View File

@ -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") //

View File

@ -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") //

View File

@ -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<ArticleEntity> result = elasticsearchTemplate.queryForPage(searchQuery, ArticleEntity.class);
assertThat(result.hasFacets()).isEqualTo(false);

View File

@ -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<StockPrice> 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<SampleInheritedEntity> result = elasticsearchTemplate.queryForList(searchQuery, SampleInheritedEntity.class);
// then

View File

@ -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);

View File

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

View File

@ -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<SampleEntityUUIDKeyed> 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<SampleEntityUUIDKeyed> 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<SampleEntityUUIDKeyed> 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<SampleEntityUUIDKeyed> 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<SampleEntityUUIDKeyed> 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<SampleEntityUUIDKeyed> 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<SampleEntityUUIDKeyed> sampleEntities = repository.search(searchQuery);
assertThat(sampleEntities.getTotalElements()).isEqualTo(0);
}

View File

@ -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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> 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<SampleEntity> sampleEntities = repository.search(searchQuery);
assertThat(sampleEntities.getTotalElements()).isEqualTo(0L);
}

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch"
xsi:schemaLocation="http://www.springframework.org/schema/data/elasticsearch https://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch.xsd
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<import resource="infrastructure.xml"/>
<bean name="elasticsearchTemplate"
class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate">
<constructor-arg name="client" ref="client"/>
</bean>
<elasticsearch:repositories
base-package="org.springframework.data.elasticsearch.repositories.setting.dynamic"
consider-nested-repositories="true"/>
</beans>

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch"
xsi:schemaLocation="http://www.springframework.org/schema/data/elasticsearch https://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch.xsd
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<import resource="infrastructure.xml"/>
<bean name="elasticsearchTemplate"
class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate">
<constructor-arg name="client" ref="client"/>
</bean>
<elasticsearch:repositories
base-package="org.springframework.data.elasticsearch.repositories.uuidkeyed"
consider-nested-repositories="true"/>
</beans>