【问题标题】:NestedSortBuilder usage example for elasticsearch 6.3.2elasticsearch 6.3.2 的 NestedSortBuilder 使用示例
【发布时间】:2018-08-03 13:15:04
【问题描述】:

我必须使用弹性 java 高级休息客户端 api 对嵌套的一级字段进行排序。我可以找到这个答案

Elasticsearch nested sorting

问题是答案使用 SortBuilder 使用以下代码对嵌套字段进行排序:

SortBuilder sb = SortBuilders.fieldSort("authorList.lastName")
    .order(SortOrder.ASC)
    .setNestedPath("authorList")
    .setNestedFilter(matchFirst);

但是,似乎在 6.3.2 elastic (deprication info) 中不推荐使用 nestedPath 和 NestedFilter,并且引入了新的 NestedSortBuilder。但是我无法使用它构建查询。谁能解释一下如何使用它,或者指出一个使用它的例子吗?

【问题讨论】:

    标签: java elasticsearch elasticsearch-nested


    【解决方案1】:

    其实很简单。这对我有用:

    SortBuilders.fieldSort("bulkOrders.expiryDate").order(SortOrder.asc).setNestedSort(new NestedSortBuilder("bulkOrders"));
    

    这相当于:

    "sort": [
            {
              "bulkOrders.expiryDate": {
                "order": "asc",
                "nested": {
                  "path": "bulkOrders"
                }
              }
            }
          ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-15
      • 2011-12-17
      • 2019-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-14
      • 1970-01-01
      相关资源
      最近更新 更多