gpt4 book ai didi

elasticsearch - 在类似Reddit的系统中在Elasticsearch中存储投票的最佳方法

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

我正在使用Elasticsearch建立一个类似于reddit的网站,并试图确定在哪里存储上/下票的最佳位置。我可以想到几个选择。

  • 作为文档的一部分存储。
    在这种情况下,任何投票都会触发文档的更新。根据elasticsearch文档,这实际上是整个文档的替代。这似乎是一个非常昂贵的操作。
  • 存储在另一个数据库中。
    将选票存储在其他数据库(例如SQL / MongoDB)中,并定期更新elasticsearch。在这种情况下,我们必须忍受新选票影响搜索结果的延迟,这不是那么理想,而且还会增加复杂性和维护成本。
  • 存储在Elasticsearch的另一个索引中
    这可以按索引区分关注点-一个主要是RO,一个RW。有没有一种有效的方法来合并两个索引,以便我可以在查询时按票排序?

  • 对这些选项或其他更好的方法有什么建议吗?

    最佳答案

    有第四种选择-将选票存储在类型不同但与原始文档索引相同的单独文档中。投票类型可以设为文章类型的child。通过此设置,您可以使用has_child过滤器和查询同时对文章和投票进行查询。每次投票时,它也只需要对小票证文件重新索引,而不是大文章文件。不利的一面是,has_childhas_parent查询需要将父/子映射加载到内存中,因此与您描述的所有其他选项相比,这种方法的内存占用非常小。

    关于elasticsearch - 在类似Reddit的系统中在Elasticsearch中存储投票的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29201114/

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