如何使用查询构建器在 Java 中翻译 Elastic Search 查询?

问题描述

我正在尝试使用查询构建器在 Java 中翻译以下弹性搜索查询?有人可以给出任何想法吗?

GET <index-name>/_search
{
  “size”: 1,“sort”: [
  {
    “Date”: {
    “order”: “desc”
   }
  }
 ]
}

解决方法

您需要使用 SortBuilder 对字段进行排序。下面的请求将按降序对 Date 字段进行排序

    RestHighLevelClient client = new RestHighLevelClient(restClientBuilder);
    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
    searchSourceBuilder.size(1).sort(new FieldSortBuilder("Date").order(SortOrder.DESC));
    SearchRequest searchRequest = new SearchRequest("my-index");
    searchRequest.source(searchSourceBuilder);
    SearchResponse searchResponse = client.search(searchRequest,RequestOptions.DEFAULT);