我能索引一个(不需要的)数组吗?

时间:2017-04-05 06:47:18

标签: postgresql

我想写点像

create index on thread(unnest(tags));

但是我收到了错误

  

错误:索引表达式无法返回集合

基本上我想找到所有标记为2的文档(see my other question for details),我假设下面的行为像blob(我不会找到[1,2]因为1 isn在我的查询中)

create index on thread(tags);

2 个答案:

答案 0 :(得分:4)

使用GIN index type

CREATE INDEX ON thread USING gin (tags);

...然后使用@> operator

查询表格
SELECT * FROM thread WHERE tags @> ARRAY[2];

答案 1 :(得分:1)

如果您知道要查找的确切值,可以使用像

这样的smth
unnest

如果你有更高版本(MongoDB Limits and Threshold)的postgres,你可以使用{{1}}

并回答您的问题: 您不能将{{1}}用作索引

的函数