Indexes are built to fast process graph queries. Nebula Graph supports two kinds of indexes: native indexes and full-text indexes. This topic introduces the index types and helps choose the right index.
Native indexes allow querying data based on a given property. Features are as follows.
- There are two kinds of native indexes: tag index and edge type index.
- Native indexes must be updated manually. You can use the
REBUILD INDEXstatement to update native indexes.
- Native indexes support indexing multiple properties on a tag or an edge type (composite indexes), but do not support indexing across multiple tags or edge types.
Operations on native indexes¶
Full-text indexes are used to do prefix, wildcard, regexp, and fuzzy search on a string property. Features are as follows.
- Full-text indexes allow indexing just one property.
- Only strings within a specified length (no longer than 256 bytes) are indexed.
- Full-text indexes do not support logical operations such as
To do complete string matches, use native indexes.
Operations on full-text indexes¶
Before doing any operations on full-text indexes, please make sure that you deploy full-text indexes. Details on full-text indexes deployment, see Deploy Elasticsearch and Deploy Listener.
At this time, full-text indexes are created automatically on the Elasticsearch cluster. And rebuilding or altering full-text indexes are not supported. To drop full-text indexes, you need to drop them on the Elasticsearch cluster manually.
To query full-text indexes, see Search with full-text indexes.
Indexes do not support indexing null values.
In addition to querying single results from native indexes, you can also do range queries. Not all the native indexes support range queries. You can only do range searches for numeric, date, and time type properties.