3.5.2 创建索引
3.5.2.1 b树索引
(1)单值索引
为某个标签的所有节点创建带命名的单属性b树索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93699.jpg?sign=1738942615-L1H5KW4Y4vozxhT232f8rkQbM4XHOLwz-0-fbc61ca58a6414c8ba2746bf60dd1e92)
为特定类型的所有关系创建带命名的单属性b树索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93706.jpg?sign=1738942615-wdElMBBnma1HJSDQjcbwwOh5cPtjF876-0-6722ab7d3f20b36efbf2efe055dd016e)
如果不知道索引是否已经存在,可以使用IF NOT EXISTS子句,如果已经存在模式和类型相同、或者名称相同、或者两者都相同的索引,则索引不会重复创建。
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93713.jpg?sign=1738942615-yAfC2B4Ac08qzQf7nvq1IJgMSDPRkvD2-0-838ee4ec8de26d3b72986eee3ea9991c)
(2)复合索引
为特定标签的所有节点创建带命名的多属性b树索引,即节点复合索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93720.jpg?sign=1738942615-9agBv3AYcyn7rCQ3cvSnDmZF2IFj7YXM-0-e09ce70496a63637f00ab52b8711d256)
节点复合索引仅包含具有指定标签且拥有索引相关所有属性的节点。
例如,为所有具有Person标签且同时具有age和country属性的节点创建复合索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93727.jpg?sign=1738942615-sTaPhP1NHEOkLNAB6U9Hv8VMHlB2UH8J-0-62c0af8090d9cf06a31d734fc0f12c8b)
为特定关系类型的所有关系创建带命名的多属性b树索引,即关系复合索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93734.jpg?sign=1738942615-HVUy1HgxXjgRbIFE40gfZHSii2QyzoeL-0-ea7f3c94f2089e53b19890b43609f628)
关系复合索引仅包含具有指定类型且拥有索引相关所有属性的关系。
例如,以下语句将在所有具有PURCHASED标签且同时具有date和amount属性的关系上创建复合索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93741.jpg?sign=1738942615-AAScpxlEy54JWZhEAoDC4iSuoxqd5VHv-0-c7c156f57169308cc9ef8baa307602fd)
注意:创建索引的操作是在后台执行,所以语句返回后索引并非立即可用。
3.5.2.2 lookup索引
为一个或多个标签的所有节点创建命名的标记查找索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P235_93752.jpg?sign=1738942615-dO8yzvsipBifSKJFGKt2G3cpsGx5XNqg-0-5d4f34eaa08cfb864f3aadbdf7959407)
为任意关系类型的所有关系创建命名标记查找索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P235_93759.jpg?sign=1738942615-voVSfkPKWDUGyRQ9K3Z4YY8vkILWN8bf-0-1afd9af3c07e726329c2c6c7b89e6fce)
OPTIONS子句可以设置索引提供程序,但只有一个有效值token-lookup-1.0,即默认值。lookup索引不支持索引配置。
3.5.2.3 文本索引
文本索引仅支持字符串值,且不支持多个属性。
为特定标签的所有节点创建单属性的文本索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P235_93766.jpg?sign=1738942615-cbWFBmsyIz6RZlMWfcelXvJZLx3BC7M5-0-26b8cacf77e1a072a9011f851b1af933)
为特定关系类型的所有关系创建单属性的文本索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P235_93773.jpg?sign=1738942615-jGaGqlXudQvuiZZty8yBXRbyzTvHQ2ew-0-902a185ea6206f0b09bfbd47f6de4af6)
如果不知道索引是否已经存在,可以使用IF NOT EXISTS子句。
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P235_93780.jpg?sign=1738942615-po8LRmH2jkvs8Y6nWnNlZyIdp5ETlPUI-0-f6851fc3bb18ada9c6372f626d4ade6f)
OPTIONS子句可以设定索引提供程序,但只有一个有效值text-1.0,所以通常无须设置。文本索引不支持其他索引配置。