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