【发布时间】:2021-09-21 14:13:13
【问题描述】:
我正在创建一个可以上传、分析和标记照片的 Ruby-on-rails。我们正在使用Azure's Cognitive Services,例如返回与给定图像关联的标签列表。
一个 JSON 格式的图像的标签示例是:
{"tags":[
{"tag_name":"outdoor","tag_confidence":"99.87"},
{"tag_name":"clothing","tag_confidence":"99.56"},
{"tag_name":"person","tag_confidence":"99.55"},
{"tag_name":"human face","tag_confidence":"93.33"},
{"tag_name":"tree","tag_confidence":"93.17"},
{"tag_name":"smile","tag_confidence":"91.33"}}
现在我们只是将它作为哈希存储在表中,但稍后我们希望能够进行过滤或查询,例如,我们可以在其中进行过滤或查询。获取所有带有 person 标记的图像。如何以最佳方式为此创建模型和表格?
【问题讨论】:
-
Postgres 有一个 JSON 数据类型 postgresql.org/docs/current/datatype-json.html
-
@Eyeslandic 啊,是的,谢谢!这就是我们正在使用的。以后在大量图片上查询所有带有特定标签的图片可以吗?
-
通过适当的索引,我想是的,但我不是数据库专家。你读过关于 GIN 索引的部分吗,那里有关于性能的讨论。
-
我不确定 GIN 索引对 JSONB 列中的对象(文档)数组的使用效果如何。但我也不是数据库专家。
标签: sql ruby-on-rails database postgresql