在ElasticSearch中为多个字段指定排序顺序的最佳方法是什么?查询字符串格式似乎根本不起作用:
http://elasticsearch_url/index/_search?sort=field1:asc&sort=field2:desc&size=100
Run Code Online (Sandbox Code Playgroud)
有人想首先按field1,然后按field2排序,但只有一个字段似乎正确排序.完整的符号效果更好,但第一个条目偶尔会出现错误的搜索顺序:
curl -s -XGET http://elasticsearch_url/index/_search -d '
{
"sort": [
{ "field1": { "order": "desc" }},
{ "field2": { "order": "desc" }}
],
"size": 100
}'
Run Code Online (Sandbox Code Playgroud)
0x4*_*672 15
显然,第二种完整的符号效果更好。
还有一个问题是其中一个字段包含 url,ElasticSearch 以奇怪的方式解析了 url。即使是普通的字符串字段也很难排序,在 ElasticSearch 中索引一个 url更加困难。
的sort关键字接受在阵列中,可以指定多个字段。
curl -s -XGET http://elasticsearch_url/index/_search -d '
{
"sort": [
{ "field1": { "order": "desc" }},
{ "field2": { "order": "desc" }}
],
"size": 100
}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14686 次 |
| 最近记录: |