mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-06-21 11:32:12 +00:00
Native query with ext section for SearchPlugin.
Original Pull Request #2064 Closes #2065
This commit is contained in:
parent
3c060d8891
commit
056a4a76e7
@ -111,6 +111,7 @@ import org.springframework.util.StringUtils;
|
|||||||
* @author Subhobrata Dey
|
* @author Subhobrata Dey
|
||||||
* @author Farid Faoudi
|
* @author Farid Faoudi
|
||||||
* @author Peer Mueller
|
* @author Peer Mueller
|
||||||
|
* @author Sijia Liu
|
||||||
* @since 4.0
|
* @since 4.0
|
||||||
*/
|
*/
|
||||||
class RequestFactory {
|
class RequestFactory {
|
||||||
@ -772,6 +773,10 @@ class RequestFactory {
|
|||||||
if (query.getSuggestBuilder() != null) {
|
if (query.getSuggestBuilder() != null) {
|
||||||
sourceBuilder.suggest(query.getSuggestBuilder());
|
sourceBuilder.suggest(query.getSuggestBuilder());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isEmpty(query.getSearchExtBuilders())) {
|
||||||
|
sourceBuilder.ext(query.getSearchExtBuilders());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
|
@ -21,6 +21,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.elasticsearch.index.query.QueryBuilder;
|
import org.elasticsearch.index.query.QueryBuilder;
|
||||||
import org.elasticsearch.script.mustache.SearchTemplateRequestBuilder;
|
import org.elasticsearch.script.mustache.SearchTemplateRequestBuilder;
|
||||||
|
import org.elasticsearch.search.SearchExtBuilder;
|
||||||
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
|
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
|
||||||
import org.elasticsearch.search.aggregations.PipelineAggregationBuilder;
|
import org.elasticsearch.search.aggregations.PipelineAggregationBuilder;
|
||||||
import org.elasticsearch.search.collapse.CollapseBuilder;
|
import org.elasticsearch.search.collapse.CollapseBuilder;
|
||||||
@ -41,6 +42,7 @@ import org.springframework.lang.Nullable;
|
|||||||
* @author Jean-Baptiste Nizet
|
* @author Jean-Baptiste Nizet
|
||||||
* @author Martin Choraine
|
* @author Martin Choraine
|
||||||
* @author Peter-Josef Meisch
|
* @author Peter-Josef Meisch
|
||||||
|
* @author Sijia Liu
|
||||||
*/
|
*/
|
||||||
public class NativeSearchQuery extends BaseQuery {
|
public class NativeSearchQuery extends BaseQuery {
|
||||||
|
|
||||||
@ -56,6 +58,7 @@ public class NativeSearchQuery extends BaseQuery {
|
|||||||
@Nullable private List<IndexBoost> indicesBoost;
|
@Nullable private List<IndexBoost> indicesBoost;
|
||||||
@Nullable private SearchTemplateRequestBuilder searchTemplate;
|
@Nullable private SearchTemplateRequestBuilder searchTemplate;
|
||||||
@Nullable private SuggestBuilder suggestBuilder;
|
@Nullable private SuggestBuilder suggestBuilder;
|
||||||
|
@Nullable private List<SearchExtBuilder> searchExtBuilders;
|
||||||
|
|
||||||
public NativeSearchQuery(@Nullable QueryBuilder query) {
|
public NativeSearchQuery(@Nullable QueryBuilder query) {
|
||||||
|
|
||||||
@ -201,4 +204,20 @@ public class NativeSearchQuery extends BaseQuery {
|
|||||||
public SuggestBuilder getSuggestBuilder() {
|
public SuggestBuilder getSuggestBuilder() {
|
||||||
return suggestBuilder;
|
return suggestBuilder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setSearchExtBuilders(List<SearchExtBuilder> searchExtBuilders) {
|
||||||
|
this.searchExtBuilders = searchExtBuilders;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addSearchExtBuilder(SearchExtBuilder searchExtBuilder) {
|
||||||
|
if (searchExtBuilders == null) {
|
||||||
|
searchExtBuilders = new ArrayList<>();
|
||||||
|
}
|
||||||
|
searchExtBuilders.add(searchExtBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
public List<SearchExtBuilder> getSearchExtBuilders() {
|
||||||
|
return searchExtBuilders;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user