gpt4 book ai didi

Elasticsearch 的 search_after 不适用于日期

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

我有一个看起来像这样的 Elasticsearch 查询,

{
size: 25,
query: {
bool: {
filter: ...,
must: ...
}
},
sort: [
{
created_at: {
order: "desc
}
},
{
id: {
order: "desc"
}
}
],
from: 0,
search_after: ["2018-10-25T18:04:13.488Z", "8"]
}

当我运行这个时,我得到一个错误提示,

"reason": Failed to parse search_after value for field [created_at], caused_by":{"type":"number_format_exception","reason":"For input string: \"2018-10-23T21:41:03.167Z\"

我尝试用 date 类型和 date_time 格式映射 created_at 属性,但这似乎没有帮助。

任何人都可以阐明我如何解决这个问题吗?

最佳答案

您需要将日期作为自纪元以来的毫秒数传递,即而不是 2018-10-25T18:04:13.488Z尝试传递 1540491254488

{
size: 25,
query: {
bool: {
filter: ...,
must: ...
}
},
sort: [
{
created_at: {
order: "desc
}
},
{
id: {
order: "desc"
}
}
],
from: 0,
search_after: [1540491254488, "8"]
^
|
change this

请注意,您可以像现在一样继续为您的文档编制索引,但是在创建查询时,您需要将该数字输入到 search_after 中。 .

关于Elasticsearch 的 search_after 不适用于日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53079280/

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