elasticsearch - 弹性搜索 - 根据日期重新索引数百万条记录
问题描述
我们在基于日期的索引中有数百万条记录,在同一个索引中会有数千条属于不同日期的记录,我们希望根据月份和年份的日期将所有这些记录重新索引到索引中(例如 2020- 08-01, 2020-08-02 等...),我们必须在重新索引成功后从源索引中删除记录。我在查询中编写了一个小脚本来获取不属于当前日期的所有记录,并开始使用 reIndex api 重新索引,但在处理几百个 api 的 ES 后抛出“请求过多”错误。我也尝试使用“wait_for_completion:false”参数重新索引。我无法按日期对记录进行分组,因为 date_histogram 仅给出计数,不能使用批量 api,因为每条记录的目的地可能不同,并且无法提取每条记录的目的地值。
解决此问题的最佳方法是什么?
解决方案
推荐阅读
- java - Orika 映射器 NPE 在 2 个映射之间
- java - 使用 Gson 反序列化带有列表的对象
- javascript - Angular5:根据数据在 Highcharts 中隐藏/显示 yAxis
- bash - 如何使用 ubuntu 命令行在文件夹中递归查找重复行?
- php - 通过将查询结果放入 foreach 中的另一个查询,从 Laravel 获取结果
- r - 在R中按组和条件查找列的最大值
- database - 坚持从 docker 运行的 Elastic/Kibana db/config?
- ruby-on-rails - 仅包含特定属性作为 Ruby on Rails 中脚手架生成的表单的输入选项
- tfs - Team Foundation Server 集合中的总代码行数?
- bash - 如何用 shell 脚本的参数替换文件中的特定行?