【发布时间】:2021-01-11 17:32:08
【问题描述】:
我有一个如下的弹性搜索映射。申报金额为关键字类型
{
"claims-service":{
"mappings":{
"properties":{
"requestedAmount":{
"properties":{
"amount":{
"type":"keyword"
}
}
}
}
}
}
}
但是当我尝试使用下面提到的查询对其进行排序时,它不是按升序排序。
GET /claims-service/_search
{
"size": 770,
"query": {
"match_all": {}
},
"sort": [
{
"requestedAmount.amount": {
"order": "asc"
}
}
]
}
我得到的结果如下所示。正如您清楚地看到的那样,我正在尝试按升序对其进行排序,但它给了我错误的结果。
{
"_index" : "claims-service",
"_type" : "_doc",
"_id" : "79600",
"_score" : null,
"_source" : {
"id" : "79600",
"requestedAmount" : {
"amount" : "101402.310000"
}
},
"sort" : [
"101402.310000"
]
},
{
"_index" : "claims-service",
"_type" : "_doc",
"_id" : "76800",
"_score" : null,
"_source" : {
"id" : "76800",
"requestedAmount" : {
"amount" : "104.160000"
},
"sort" : [
"104.160000"
]
},
{
"_index" : claims-service",
"_type" : "_doc",
"_id" : "72750",
"_score" : null,
"_source" : {
"id" : "72750",
"requestedAmount" : {
"amount" : "104.391000"
},
"sort" : [
"104.391000"
]
},
{
"_index" : "claims-service",
"_type" : "_doc",
"_id" : "79900",
"_score" : null,
"_source" : {
"id" : "79900",
},
"sort" : [
"104909.340000"
]
}
通过查看排序字段可以看出,这些值实际上显示为["101402.310000", "104.391000", "104909.340000"]
【问题讨论】:
标签: elasticsearch