Source: https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/ddl/index/create-fulltext/ Documentation version: v5.3.2 # CREATE FULLTEXT INDEX `CREATE FULLTEXT INDEX`语句用于为特定图创建全文索引。 可选择以下任意方法来指定图: - 在本语句前添加 [USE 子句](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/dql/clauses/use-graph/)来设定工作图。 - 提前使用 [SESSION SET](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/sessions/set/) 设置当前会话的图。 若两种方法均使用,则以 USE 子句中的指定为准。若均未使用,则报错。 您可以基于单个点类型或边类型的单个`STRING`类型的属性创建全文索引,从而高效地搜索索引属性中的特定单词或短语。 全文索引创建后,可搭配 [ftscore()](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/fe/functions/fulltext/#ftscore) 函数计算索引属性存储的`STRING`值与给定查询字符串之间的相关性得分。 若要创建其他类型的索引,请参见 [CREATE NORMAL INDEX](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/ddl/index/create/)、[CREATE VECTOR INDEX](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/ddl/index/create-vector/) 和 [CREATE SPATIAL INDEX](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/ddl/index/create-geo/)。 Note 对非默认 Schema 或其中的对象执行操作时,用户既要通过隐式访问规则或显式`USAGE`授权获得该 Schema 的访问权,也要具备目标操作所需的权限。Schema 访问校验和目标操作所需的权限校验相互独立,满足其中一项不能替代另一项。Schema 访问控制不适用于临时图、内置 Procedure 和内置 Function。更多信息,请参见 [Schema 访问控制](https://dev-docs.yueshu.com.cn/v5.3.2/server-admin/authorization/schema-access-control/)。 ## 前提条件 - 图已创建。更多信息,请参见 [CREATE GRAPH](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/ddl/graph/create/)。 - 若要创建全文索引,必须是图的所有者,或具备在图上执行`INDEX`操作的权限,或具备在当前 Schema 执行`CREATE INDEX`操作的权限。更多信息,请参见[角色与权限](https://dev-docs.yueshu.com.cn/v5.3.2/server-admin/authorization/)。 ## 语法 语法图源码 create_fulltext_index_statement ```` create_fulltext_index_statement ::= 'CREATE' 'FULLTEXT' 'INDEX' ('IF NOT EXISTS')? index_name 'ON' ( ( ('NODE' | 'VERTEX') 'TYPE'? node_type_name) | ( ('EDGE'|'RELATIONSHIP') 'TYPE'? edge_type_name) ) '(' property_name ')' ```` ## 参数 ### `IF NOT EXISTS` 该子句会检查是否已存在同名的索引。若已存在,则不会创建索引,也不会抛出异常。 若未指定该子句,且已存在同名的索引,则会抛出异常。 ### `index_name` 待创建的全文索引的名称。该名称为常规标识符,在同一个图的所有类型的索引中,索引名称必须唯一。 有关标识符的详细信息,请参见[标识符命名规则](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/overview/keywords-identifiers/#_3)。 ### `node_type_name` 待创建全文索引的点类型的名称。该点类型必须至少有一个值类型为`STRING`的属性。 ### `edge_type_name` 待创建全文索引的边类型的名称。该边类型必须至少有一个值类型为`STRING`的属性。 ### `property_name` 待创建全文索引的点类型或边类型的属性名称。属性的值类型必须为`STRING`。更多信息,请参见[字符串](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/data-types/c-string-type/)。 注意,每个全文索引只能指定一个属性。 ## 示例 以下示例基于[示例数据集](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/overview/example-dataset/)。 ### 在点类型上创建全文索引 ```` USE movie CREATE FULLTEXT INDEX IF NOT EXISTS ft_movie ON NODE Movie(name) ````