Skip to content

Commit 056a4a7

Browse files
authored
Native query with ext section for SearchPlugin.
Original Pull Request #2064 Closes #2065
1 parent 3c060d8 commit 056a4a7

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

Diff for: src/main/java/org/springframework/data/elasticsearch/core/RequestFactory.java

+5
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@
111111
* @author Subhobrata Dey
112112
* @author Farid Faoudi
113113
* @author Peer Mueller
114+
* @author Sijia Liu
114115
* @since 4.0
115116
*/
116117
class RequestFactory {
@@ -772,6 +773,10 @@ private void prepareNativeSearch(NativeSearchQuery query, SearchSourceBuilder so
772773
if (query.getSuggestBuilder() != null) {
773774
sourceBuilder.suggest(query.getSuggestBuilder());
774775
}
776+
777+
if (!isEmpty(query.getSearchExtBuilders())) {
778+
sourceBuilder.ext(query.getSearchExtBuilders());
779+
}
775780
}
776781

777782
@SuppressWarnings("rawtypes")

Diff for: src/main/java/org/springframework/data/elasticsearch/core/query/NativeSearchQuery.java

+19
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import org.elasticsearch.index.query.QueryBuilder;
2323
import org.elasticsearch.script.mustache.SearchTemplateRequestBuilder;
24+
import org.elasticsearch.search.SearchExtBuilder;
2425
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
2526
import org.elasticsearch.search.aggregations.PipelineAggregationBuilder;
2627
import org.elasticsearch.search.collapse.CollapseBuilder;
@@ -41,6 +42,7 @@
4142
* @author Jean-Baptiste Nizet
4243
* @author Martin Choraine
4344
* @author Peter-Josef Meisch
45+
* @author Sijia Liu
4446
*/
4547
public class NativeSearchQuery extends BaseQuery {
4648

@@ -56,6 +58,7 @@ public class NativeSearchQuery extends BaseQuery {
5658
@Nullable private List<IndexBoost> indicesBoost;
5759
@Nullable private SearchTemplateRequestBuilder searchTemplate;
5860
@Nullable private SuggestBuilder suggestBuilder;
61+
@Nullable private List<SearchExtBuilder> searchExtBuilders;
5962

6063
public NativeSearchQuery(@Nullable QueryBuilder query) {
6164

@@ -201,4 +204,20 @@ public void setSuggestBuilder(SuggestBuilder suggestBuilder) {
201204
public SuggestBuilder getSuggestBuilder() {
202205
return suggestBuilder;
203206
}
207+
208+
public void setSearchExtBuilders(List<SearchExtBuilder> searchExtBuilders) {
209+
this.searchExtBuilders = searchExtBuilders;
210+
}
211+
212+
public void addSearchExtBuilder(SearchExtBuilder searchExtBuilder) {
213+
if (searchExtBuilders == null) {
214+
searchExtBuilders = new ArrayList<>();
215+
}
216+
searchExtBuilders.add(searchExtBuilder);
217+
}
218+
219+
@Nullable
220+
public List<SearchExtBuilder> getSearchExtBuilders() {
221+
return searchExtBuilders;
222+
}
204223
}

0 commit comments

Comments
 (0)