hum*_*der 3 java elasticsearch elasticsearch-nested
我必须对使用弹性 Java 高级其余客户端 api 嵌套的一级字段进行排序。我可以找到这个答案
问题是答案使用 SortBuilder 使用以下代码对嵌套字段进行排序:
SortBuilder sb = SortBuilders.fieldSort("authorList.lastName")
.order(SortOrder.ASC)
.setNestedPath("authorList")
.setNestedFilter(matchFirst);
Run Code Online (Sandbox Code Playgroud)
然而,似乎nestedPath 和NestedFilter 在6.3.2 elastic(deprication info)中已被弃用,并且引入了新的NestedSortBuilder。但是我无法使用它构建查询。任何人都可以解释如何使用它,或者给我指出一个使用它的例子吗?
其实很容易。这对我有用:
SortBuilders.fieldSort("bulkOrders.expiryDate").order(SortOrder.asc).setNestedSort(new NestedSortBuilder("bulkOrders"));
Run Code Online (Sandbox Code Playgroud)
这相当于:
"sort": [
{
"bulkOrders.expiryDate": {
"order": "asc",
"nested": {
"path": "bulkOrders"
}
}
}
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |