gpt4 book ai didi

elasticsearch - 如何在具有多个索引的ElasticSearch中实现分页?

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

我们的系统中有数百万用户的大量交易。这些交易作为文档存储在ElasticSearch中,并按月创建索引。例如,“transactions-09-2020”是9月的索引,而“transactions-08-2020”是2020年8月的索引。
现在,我们需要在用户的应用程序上显示这些交易,并按日期降序排列。由于在第一页上我需要显示至少50笔交易,因此我可能需要从多个索引中获取数据,例如从当月索引以及前几个月的索引中获取数据。用户在给定的月份中可以有任意数量的txns。用户可以始终从第一页向下滚动到第二页,从第二页向下滚动到第三页,依此类推。
主要问题是要找到多少索引才能找到这50个txns。如果我们采用搜索当月指数的方法,并且如果txns小于50,然后继续前几个月直到txns为50,那么问题将是ES的点击次数。
我们希望最大程度地减少点击量,以便在页面中获取这50个txns。这50个txns可以属于任何页面,例如1st,2nd等。
如何事先确定要检索那50个文档需要搜索多少索引?我能否有任何逻辑将这种搜索索引的负担转移到elasticsearch上,而我只关注页面编号。和txns的数量(即,在这种情况下,为第1页获取50 txns,为第2页获取50 txns,为第3页获取剩余的txns)。

最佳答案

您总是可以这样创建别名

`POST /_aliases
{
"actions" : [
{ "add" : { "index" : "transactions-09-2020", "alias" : "transactions" } }
]
}`
并使用 fromsize参数在日期字段上使用“范围”过滤器查询别名(我假设您已在交易文档中找到它)
在这种情况下,您实际上不必担心要读取哪个索引。 ES将保重。

关于elasticsearch - 如何在具有多个索引的ElasticSearch中实现分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63935307/

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