gpt4 book ai didi

elasticsearch - 有关ElasticSearch查询设计的建议

转载 作者:行者123 更新时间:2023-12-03 00:30:59 24 4
gpt4 key购买 nike

我有如下的ES文档:

{
"auctionOn": "2018-01-01",
"inspections: [
{
"startsOn": "2018-01-02 09:00",
"endsOn": "2018-01-02 10:00"
}
]
}

我需要从一个搜索(或多个搜索)中获得以下答案
  • 将来带有auctionOn的文档数(例如>现在)
  • 将来带有inspection.startsOn的文档数(例如>现在)
  • 接下来7天的
  • 日期直方图(日细目分类),以及当天有auctionOn的文档数
  • 接下来7天的
  • 日期直方图(日细目),以及当天有inspection.startsOn的文档数

  • 所以,我试图找出如何有效地获得这些答案。我知道我可以/应该测试所有不同的方法,但是我对ES还是比较陌生,所以说起来容易做起来难。

    有人可以给我一些建议(或者理想情况下是一个查询)如何获得这四个值吗?

    我的想法:
  • 查询将来有检查/拍卖的所有文档。创建日期直方图聚合,过滤后的7天用于拍卖和检查。使用范围汇总可获取具有“拍卖/检验”>今天的文档数量。
    优点:一种搜索所有答案。缺点:要汇总的文档很多?
  • 为以下内容创建单独的搜索(例如msearch):
  • 在接下来的7天中对所有文档进行检查。每天汇总。
  • 在接下来的7天内通过拍卖查询所有文档。每天汇总。
  • 将来会检查所有文档。使用点击数获取总
  • 将来会通过拍卖查询所有文档。使用点击数获得总计。
    优点:查询更简单..更多缓存命中率?缺点:4个单独的搜索。

  • 有人可以指导我走正确的道路,并给我有关如何进行查询/聚合的提示吗?

    谢谢

    最佳答案

  • auctionOn字段上使用范围查询在设置上从当前日期开始,从日期作为空日期。
  • 在字段 inspection.startsOn 上的嵌套查询中,使用范围查询。
  • 使用日期直方图聚合,并使用间隔作为
  • 与3.相同),但在内嵌套聚合
  • 您可以在一个查询中调整所有这些。
  • 关于elasticsearch - 有关ElasticSearch查询设计的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54140555/

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