HugeGraph Database Index
HugeGraph图数据库的索引支持比较全面,图数据库的索引一般包括几方面:
- 图索引/边索引(graph-index):主要用于加速获取顶点的关联边,一般使用邻接表或十字链表等方式,也可以使用hash索引。hugegraph使用的是邻接表。
- 超级点索引(vertex-centric-index):主要用于加速获取超级顶点的部分关联边,比如查询12315号码这个点最近一周的通话边。hugegraph通过sortkey实现的,相当于增强版邻接表。
- 普通属性索引(secondary-index):主要用于加速根据属性来检索顶点、或根据属性来检索边,数据库一般使用btree或hash实现。
- 可通过比较大小来检索的属性索引(range-index):主要用于加速根据属性范围来检索顶点或边,比如age>18的人,数据库一般使用btree实现。
- 可根据前缀+比较大小来检索的属性索引(shard-index):主要用于加速根据属性范围来检索顶点或边,比如city=Beijing && age>18的人。
- 可全文检索的属性索引(search-index):主要用于加速根据属性值中的任意文本段或词语来检索顶点或边,比如city contains Bay的人。
以上索引在HugeGraph图数据库中均支持,属性索引在HugeGraph实现根据存储而定,主要还是依赖lsm-tree;全文索引的实现原理是对属性文本分词后进行存储索引。
参考文档:https://hugegraph.github.io/h...