关于ArcadeDB是否支持集合索引(含LIST集合)的技术咨询
ArcadeDB 索引类型及LIST集合索引支持说明
支持的索引类型
ArcadeDB支持多种索引类型,覆盖不同查询场景:
- 单字段索引:针对单个字段的基础索引,适配字符串、数值、日期等基本数据类型的等值、范围查询。
- 复合索引:基于多个字段组合创建的索引,适用于多字段联合查询场景。
- 唯一索引:确保索引字段(或字段组合)的值唯一,支持单字段和复合字段两种形式。
- 全文索引:针对字符串内容做全文检索优化,支持分词匹配、模糊查询等。
- 地理空间索引:支持点、线、面等地理空间数据的空间关系查询(如距离计算、范围包含)。
- 集合类型索引:针对LIST、SET这类集合字段的元素级索引。
LIST集合的索引支持
ArcadeDB明确支持对LIST类型字段创建元素级索引——索引会为LIST中的每个独立元素建立索引条目,当你需要查询包含特定元素的LIST字段时,能通过索引快速定位记录,无需全表扫描。
创建LIST索引示例
假设你有一个User顶点类,包含tags(LIST类型的字符串集合)字段,创建索引的SQL命令如下:
-- 创建顶点类 CREATE CLASS User EXTENDS V -- 定义LIST类型属性 CREATE PROPERTY User.tags LIST STRING -- 为tags字段创建非唯一索引 CREATE INDEX User_tags ON User (tags) UNIQUE FALSE
使用LIST索引查询示例
查询包含指定标签的用户时,使用CONTAINS操作符即可触发索引查询:
SELECT FROM User WHERE tags CONTAINS 'admin'
注:这种集合索引同样适用于SET类型字段,逻辑与LIST一致,都是针对集合内的每个元素建立索引条目。
内容的提问来源于stack exchange,提问作者Vitaliy
相关产品推荐
相关产品推荐

