搜索性能索引
搜索性能索引可实现更快地检索索引和主要数据存储之间的精确匹配。Neo4j 中有四种不同的搜索性能索引
-
范围索引:Neo4j 的默认索引。支持大多数类型的谓词。
-
文本索引:解决对
STRING
值进行操作的谓词。针对使用STRING
操作符CONTAINS
和ENDS WITH
进行过滤的查询进行了优化。 -
点索引:解决空间
POINT
值的谓词。针对在距离或边界框内进行过滤的查询进行了优化。 -
令牌查找索引:仅解决节点标签和关系类型谓词(即它们不能解决任何对属性进行过滤的谓词)。当在 Neo4j 中创建数据库时,会存在两个令牌查找索引(一个用于节点标签,另一个用于关系类型)。
要详细了解创建、列出和删除这些索引,以及有关每种索引类型支持的谓词的更多详细信息,请参阅 创建、显示和删除索引。
有关索引如何影响 Cypher® 查询的性能,以及一些关于何时使用(以及何时不使用)搜索性能索引的启发式方法的信息,请参阅 索引对查询性能的影响。
搜索性能索引会自动使用,如果有多个索引可用,Cypher 计划程序 将尝试使用能够最有效地解决特定谓词的索引(或索引)。但是,可以使用 USING
关键字显式强制查询使用特定索引。有关更多信息,请参阅 Cypher 计划程序的索引提示。