gpt4 book ai didi

postgresql - LAB 颜色的 Postgres 空间索引?

转载 作者:行者123 更新时间:2023-11-29 14:01:10 32 4
gpt4 key购买 nike

我有一个包含照片的 Postgres 数据库,我想让人们按颜色搜索它们。我已经为每张照片定义了多种颜色 (1-5),我正在使用 LAB colours (感知色彩空间,以三个维度定义:亮度加上两个颜色维度)。

我的问题是:在 Postgres 中执行此操作的最佳方法是什么?它本质上是一个三维搜索,所以我应该使用空间索引吗?

我的要求是:

  • 按颜色运行边界框搜索(查找颜色在颜色 Y 的 X 距离内的照片)。
  • 按与颜色 X 的距离对结果进行排序(首先返回颜色最接近颜色 Y 的照片)
  • 类似 r-tree 的性能。

我已经在 Python 中使用 rtree 索引构建了一个概念验证,并且运行良好。我只是不确定如何使用 Postgres 表复制它。

最佳答案

我看到了几个选项。 PostGIS 具有多维几何类型,可以准确提供您正在寻找的内容。例如,您可以在 3d 点上做边界框。那将是最简单的。

PostGIS 是一个地理空间插件,但它也可以用于许多其他事情。即使不是 GIS,您正在做的事情也是空间性的,这可能是完成这项工作的最佳工具。 PostGIS 将处理您所有的索引需求,包括距离搜索等。

如果这是 Not Acceptable ,您可以编写自己的类型。您可能还想为它们编写 GiST 运算符,并且那里有相当大的学习曲线。

关于postgresql - LAB 颜色的 Postgres 空间索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16859646/

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