Overview
A full-text index is a type of index specialized for efficient searching for string
or text
properties, especially in large text fields like descriptions, comments, or articles.
Full-text indexes work by breaking down the text into smaller segments called tokens. When a query is performed, the search engine matches specified keywords against these tokens instead of the original full text, allowing for faster retrieval of relevant results. This approach enables keyword matching and partial matches.
Showing Full-text Indexes
To retrieve node full-text indexes in the current graph:
SHOW NODE FULLTEXT
To retrieve edge full-text indexes in the current graph:
SHOW EDGE FULLTEXT
The information about full-text indexes is organized into the _nodeFulltext
or _edgeFulltext
table. Each table includes provides essential details about each full-text index:
Field |
Description |
---|---|
name |
Full-text index name. |
properties |
The property of the full-text index. |
schema |
The schema of the full-text index. |
status |
Full-text index status, which can be DONE or CREATING . |
Creating a Full-text Index
You can create a full-text index using the CREATE FULLTEXT
statement. Note that each property can only have one full-text index. The full-text index creation runs as a job, you may run SHOW JOB
afterward to verify the success of the creation.
System properties in Ultipa are inherently optimized for query performance and have built-in efficiencies. They do not support full-text indexing.
<create full-text index statement> ::=
"CREATE FULLTEXT" <full-text index name> "ON" < "NODE" | "EDGE" > <schema name>
"(" <property name> ")"
Details
- The
<full-text index name>
must be unique among nodes and among edges, but a node full-text index and an edge full-text index may share the same name. Naming conventions are:- 2 to 64 characters.
- Begins with a letter.
- Allowed characters: letters (A-Z, a-z), numbers (0-9) and underscores (
_
).
To create a full-text index named prodDesc
for the property description
of product
nodes:
CREATE FULLTEXT proDesc on NODE product (description)
To create a full-text index named review
for the property content
of review
edges:
CREATE FULLTEXT review on EDGE review (content)
Dropping a Full-text Index
You can drop a full-text index using the DROP NODE FULLTEXT
or DROP EDGE FULLTEXT
statement. Dropping a full-text index does not affect the actual property values stored in shards.
A property with a full-text index cannot be dropped until the full-text index is deleted.
To drop the node full-text index proDesc
:
DROP NODE FULLTEXT proDesc
To drop the edge full-text index review
:
DROP EDGE FULLTEXT review
Using Full-text Indexes
The feature to use a full-text index in filters is coming soon.