gpt4 book ai didi

performance - Elasticsearch - 许多小文档与更少的大文档?

转载 作者:行者123 更新时间:2023-11-29 02:50:40 25 4
gpt4 key购买 nike

我正在为我公司内部使用的编目系统创建一个图像系统搜索(类似于 Google 的反向图像搜索)。我们已经成功地使用 Elasticsearch 来实现我们的常规搜索功能,所以我计划对我们所有的图像进行哈希处理,为它们创建一个单独的索引,并将其用于搜索。系统中有很多项目,每个项目可能有多个关联的图像,并且应该能够通过反向图像搜索其任何相关图像来找到该项目。

我们想到了 2 种可能的模式:

为每个图像制作一个文档,仅包含图像的哈希值和与其相关的项目 ID。这将产生大约 700 万份文档,但它们会很小,因为它们只包含一个散列和一个 ID。

为每个项目制作一个文档,并将与其关联的所有图像的哈希值存储在文档上的数组中。这将产生大约 10 万个文档,但每个文档都相当大,有些项目有数百张图像与之关联。

这些架构中的哪一个性能更高?

最佳答案

最近参加了一个Under the Hood Alexander Reelsen 的谈话,他可能会说“这取决于”和“基准”。

正如@Science_Fiction 已经暗示的那样:

  1. 图像是否经常更新?这可能会带来负面的成本因素
  2. OTOH,700 万文档的开销可能不应该被忽略,而在您的第二种情况下,它们只是字段中的 not_analyzed 术语。

如果 1. 是一个低因素,我可能会先从您的第二种方法开始。

关于performance - Elasticsearch - 许多小文档与更少的大文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30231969/

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