介绍
Ultipa 的索引可以在磁盘中为点、边属性创建索引树,不但能大大提高针对点、边的检索速度(类似于传统数据库的索引),还能为路径查询、K 邻查询等图上点、边过滤进行提速。
Ultipa 原生开发的 Full-text 全文搜索引擎对点、边属性中的长文本进行分词,并在分词结果中进行高效快速地搜索,适用于从元数据查询到 AB 路径、K 邻、模板等各类图上的查询。
Ultipa 的 LTE 可以将磁盘上的点、边属性加载到 Ultipa 高性能图计算引擎当中,用于提高各类查询的条件过滤速度。
普通索引 v.s. LTE
普通索引和路径检索加速机制 LTE (Load to Engine) 一样,都是通过耗费磁盘空间、保证创建的内容可以被持久化来实现检索性能的提升,但二者仍然存在一些区别。
-
区别 1:加速对象
- LTE:主要加速对象是图的路径查询,如 AB 路径查询、K 邻查询,凡是涉及到图(深度 >= 1)的搜索,都适合使用 LTE 加速。
- 普通索引:主要加速对象是元数据搜索,无论是使用
find()
命令查找点、边,还是在路径查询中对点、边进行过滤,普通索引都适用。
-
区别 2:实现原理
- LTE:将属性加载到 Ultipa 图计算引擎,让引擎在搜索时可以直接使用属性,从而降低对磁盘 I/O 的依赖。
- 普通索引:创建各类索引树,直接使用持久化存储中的数据结构进行检索加速,从而减少对内存的消耗。
-
区别 3:内存与磁盘使用
- LTE 的属性值:主要占用内存,所占空间取决于属性值的数量;并且会持久化存储于磁盘当中,以便在实例重启后自动重新加载。
- 普通索引的索引树:主要占用磁盘空间。
对于同时进行了 LTE 并创建了普通索引的属性:
- 在路径查询中,优先使用 LTE
- 在元数据查询中,优先使用普通索引