DATAES-661 - Added track_total_hits request parameter to Query.

Original PR: #378
This commit is contained in:
Peter-Josef Meisch 2020-01-09 23:29:34 +01:00 committed by GitHub
parent 0843481cc5
commit 7294accaca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 0 deletions

View File

@ -552,6 +552,10 @@ class RequestFactory {
}
if (query.getTrackTotalHits()) {
sourceBuilder.trackTotalHits(query.getTrackTotalHits());
}
request.source(sourceBuilder);
return request;
}
@ -714,6 +718,10 @@ class RequestFactory {
prepareNativeSearch(searchRequestBuilder, (NativeSearchQuery) query);
}
if (query.getTrackTotalHits()) {
searchRequestBuilder.setTrackTotalHits(query.getTrackTotalHits());
}
return searchRequestBuilder;
}

View File

@ -54,6 +54,7 @@ abstract class AbstractQuery implements Query {
protected String preference;
protected Integer maxResults;
protected HighlightQuery highlightQuery;
private boolean trackTotalHits = false;
@Override
public Sort getSort() {
@ -208,4 +209,13 @@ abstract class AbstractQuery implements Query {
return Optional.ofNullable(highlightQuery);
}
@Override
public void setTrackTotalHits(boolean trackTotalHits) {
this.trackTotalHits = trackTotalHits;
}
@Override
public boolean getTrackTotalHits() {
return trackTotalHits;
}
}

View File

@ -202,4 +202,24 @@ public interface Query {
default Optional<HighlightQuery> getHighlightQuery() {
return Optional.empty();
}
/**
* Sets the flag whether to set the Track_total_hits parameter on queries {@see <a href=
* "https://www.elastic.co/guide/en/elasticsearch/reference/7.0/search-request-track-total-hits.html">Elasticseacrh
* documentation</>}
*
* @param trackTotalHits the value to set.
* @since 4.0
*/
void setTrackTotalHits(boolean trackTotalHits);
/**
* Sets the flag whether to set the Track_total_hits parameter on queries {@see <a href=
* "https://www.elastic.co/guide/en/elasticsearch/reference/7.0/search-request-track-total-hits.html">Elasticseacrh
* documentation</>}
*
* @return the set value.
* @since 4.0
*/
boolean getTrackTotalHits();
}