mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-09-25 17:04:54 +00:00
Merge pull request #237 from open-metadata/add_sort_options
ISSUE-236: Add sort options to search api
This commit is contained in:
commit
409b2dff11
@ -105,15 +105,15 @@ public class SearchResource {
|
|||||||
@Parameter(description = "Sort the search results by field, available fields to " +
|
@Parameter(description = "Sort the search results by field, available fields to " +
|
||||||
"sort weekly_stats" +
|
"sort weekly_stats" +
|
||||||
" , daily_stats, monthly_stats, last_updated_timestamp defaults to weekly_stats")
|
" , daily_stats, monthly_stats, last_updated_timestamp defaults to weekly_stats")
|
||||||
@DefaultValue("weekly_stats") @QueryParam("sort_field") String sortFieldParam,
|
@QueryParam("sort_field") String sortFieldParam,
|
||||||
@Parameter(description = "Sort order asc for ascending or desc for descending, " +
|
@Parameter(description = "Sort order asc for ascending or desc for descending, " +
|
||||||
"defaults to asc")
|
"defaults to desc")
|
||||||
@DefaultValue("asc") @QueryParam("sort_order") String sortOrderParam) throws IOException {
|
@DefaultValue("desc") @QueryParam("sort_order") String sortOrderParam) throws IOException {
|
||||||
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
||||||
SearchRequest searchRequest = new SearchRequest(index);
|
SearchRequest searchRequest = new SearchRequest(index);
|
||||||
SortOrder sortOrder = SortOrder.ASC;
|
SortOrder sortOrder = SortOrder.DESC;
|
||||||
if (sortOrderParam.equals("desc")) {
|
if (sortOrderParam.equals("asc")) {
|
||||||
sortOrder = SortOrder.DESC;
|
sortOrder = SortOrder.ASC;
|
||||||
}
|
}
|
||||||
|
|
||||||
HighlightBuilder.Field highlightTableName =
|
HighlightBuilder.Field highlightTableName =
|
||||||
@ -139,8 +139,10 @@ public class SearchResource {
|
|||||||
.highlighter(hb)
|
.highlighter(hb)
|
||||||
.from(from).size(size);
|
.from(from).size(size);
|
||||||
|
|
||||||
|
if (sortFieldParam != null && !sortFieldParam.isEmpty()) {
|
||||||
|
searchSourceBuilder.sort(sortFieldParam, sortOrder);
|
||||||
|
}
|
||||||
LOG.info(searchSourceBuilder.toString());
|
LOG.info(searchSourceBuilder.toString());
|
||||||
|
|
||||||
searchSourceBuilder.timeout(new TimeValue(30, TimeUnit.SECONDS));
|
searchSourceBuilder.timeout(new TimeValue(30, TimeUnit.SECONDS));
|
||||||
searchRequest.source(searchSourceBuilder);
|
searchRequest.source(searchSourceBuilder);
|
||||||
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
|
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user