![精通Neo4j](https://wfqqreader-1252317822.image.myqcloud.com/cover/113/47216113/b_47216113.jpg)
上QQ阅读APP看书,第一时间看更新
3.5.2 创建索引
3.5.2.1 b树索引
(1)单值索引
为某个标签的所有节点创建带命名的单属性b树索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93699.jpg?sign=1739026285-8dNnTkcVlWG8xsE9RFfVt0cEPP0ujyPv-0-22ea3057f0387c2313521163f553d724)
为特定类型的所有关系创建带命名的单属性b树索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93706.jpg?sign=1739026285-2B6XgYMh3tWFg8073MtfkX6g2eFsIom2-0-0a082f307dfe472020951124d88d7f07)
如果不知道索引是否已经存在,可以使用IF NOT EXISTS子句,如果已经存在模式和类型相同、或者名称相同、或者两者都相同的索引,则索引不会重复创建。
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93713.jpg?sign=1739026285-AyVlrVteEQpMoFcfRU7RdYztqwoDRMLt-0-5d983e79816344c61df063ca51e43b06)
(2)复合索引
为特定标签的所有节点创建带命名的多属性b树索引,即节点复合索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93720.jpg?sign=1739026285-UAXJeNWp6YUlNCkjBIpTpQwCrJtX9h9o-0-6e000eded7ba5339fd480a54dc36174a)
节点复合索引仅包含具有指定标签且拥有索引相关所有属性的节点。
例如,为所有具有Person标签且同时具有age和country属性的节点创建复合索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93727.jpg?sign=1739026285-AvhRsvLp2VMMHyUsoW2HH5pH5Udii8zK-0-23cfc82b78b5ed8631c657d7ae0798ed)
为特定关系类型的所有关系创建带命名的多属性b树索引,即关系复合索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93734.jpg?sign=1739026285-qP4Id83ko5tjPG4rqrxqyrnTYU24q3Bl-0-5217c5459cffcf9ba4e6fad4bc4ab237)
关系复合索引仅包含具有指定类型且拥有索引相关所有属性的关系。
例如,以下语句将在所有具有PURCHASED标签且同时具有date和amount属性的关系上创建复合索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P234_93741.jpg?sign=1739026285-jX59fcVCCSIlHLPRdFccttcIE8wRj5LX-0-52b2fba3809a16e3eb6a49940ddeae76)
注意:创建索引的操作是在后台执行,所以语句返回后索引并非立即可用。
3.5.2.2 lookup索引
为一个或多个标签的所有节点创建命名的标记查找索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P235_93752.jpg?sign=1739026285-1pIyyJOyq4QLpK825YMSQzvwOER875dF-0-596e6a3c6a9a9173eae0036faf7e335e)
为任意关系类型的所有关系创建命名标记查找索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P235_93759.jpg?sign=1739026285-99WaIAPCAcxqXMHvrXqVkXDqT7U8ksUQ-0-9045719e86a9fbf99ff3cd6f271d1590)
OPTIONS子句可以设置索引提供程序,但只有一个有效值token-lookup-1.0,即默认值。lookup索引不支持索引配置。
3.5.2.3 文本索引
文本索引仅支持字符串值,且不支持多个属性。
为特定标签的所有节点创建单属性的文本索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P235_93766.jpg?sign=1739026285-VHUCO9TNGZ4eMYor1lsA3spjkNStml2s-0-bd03a3dafbce088f7e7e852c8c58ae12)
为特定关系类型的所有关系创建单属性的文本索引:
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P235_93773.jpg?sign=1739026285-uvZ39wnp3LX4Imn4ut4kBgSzFBB8Jvvv-0-f6196249dda19f0b975b0002b81e32ba)
如果不知道索引是否已经存在,可以使用IF NOT EXISTS子句。
![](https://epubservercos.yuewen.com/84FE89/26581284601284906/epubprivate/OEBPS/Images/Figure-P235_93780.jpg?sign=1739026285-UFvWVkxTg1EdPEednFo2LXmjPxGcWp31-0-f4e88a98ba02e0b2d4102554c830baeb)
OPTIONS子句可以设定索引提供程序,但只有一个有效值text-1.0,所以通常无须设置。文本索引不支持其他索引配置。