gpt4 book ai didi

elasticsearch - 在长浮点字段上排序无法正常工作(ES 1.3.4)

转载 作者:行者123 更新时间:2023-12-03 02:05:47 35 4
gpt4 key购买 nike

我有一个基于浮点类型字段的不正确排序问题。我的数据中有一个浮点类型字段,称为gtd_sort_number(请参见下面的数据示例)。值是微时间,因此十进制值相当长(如下例所示)。现在,当我进行如下查询(第二个示例)时,结果集未正确排序。有些项目顺序正确,有些则不正确。第一个示例显示了从查询返回的数据,因此您可以看到"sort": [1412944380]添加到结果中。在我看来,ES会以某种方式将前一个值四舍五入,然后对其进行排序,因此产生错误的结果,因为它将不同的(相似)值四舍五入为相同的值。

知道这里有什么问题吗?

{
"_index": "netnotes",
"_type": "activity",
"_id": "a53ab53ba52b3f03bf8e547a0633dc3f",
"_score": null,
"_source": {
"id": "a53ab53ba52b3f03bf8e547a0633dc3f",
"gtd_sort_number": 1412944355.6989,
"gtd_section_id": "37aee9eb-e836-41f1-89a8-8d173fe23d57",
"gtd_board_id": "0d7b113b24d53a5a9ca50345173c4c49",
"gtd_color": "#000000",
"gtd_type": "note",
"gtd_label": "",
"gtd_private": null
},
"sort": [
1412944380
]
}

查询示例
GET /netnotes/activity/_search
{
"query": {
"match_all": {}
},
"post_filter": {
"term": {
"gtd_board_id": "0d7b113b24d53a5a9ca50345173c4c49"
}
},
"sort": {
"gtd_sort_number": "desc"
},
"from": 0
}

最佳答案

可能是因为float无法容纳您的数字,这意味着它没有必要的精度和位数来容纳该数字。
您可能需要将映射从“float”更改为“double”。

关于elasticsearch - 在长浮点字段上排序无法正常工作(ES 1.3.4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26334026/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com