将mysql排序语句 ORDER BY CONVERT(bcp.tree_case_name USING gbk),bcp.create_time,bc.case_name 转换成ElasticSearch排序
时间: 2024-02-21 15:57:56 浏览: 126
在ElasticSearch中,您可以使用“sort”参数指定您要按哪个字段进行排序。在这种情况下,您需要按照以下方式转换排序语句:
```
{
"sort": [
{
"tree_case_name": {
"order": "asc",
"nested": {
"path": "bcp",
"filter": {
"bool": {
"must": [
{ "exists": { "field": "bcp.tree_case_name" } }
]
}
}
}
}
},
{ "create_time": { "order": "asc" } },
{ "case_name": { "order": "asc" } }
]
}
```
在上面的代码中,我们使用“sort”参数指定了要按哪些字段排序,并按以下方式转换排序语句:
1. 首先按“tree_case_name”字段排序。我们使用“nested”参数指定“bcp”字段是嵌套的,并使用“filter”参数指定我们要过滤的条件。我们使用“exists”查询指定我们要过滤掉值为null的记录,并按“asc”顺序排序。
2. 然后按“create_time”字段进行排序,并按“asc”顺序排序。
3. 最后按“case_name”字段进行排序,并按“asc”顺序排序。
请注意,如果您正在使用ElasticSearch 7.x版本,则可能需要将以上查询中的“nested”参数替换为“inner_hits”参数。
阅读全文