11.2.1. Introduction

This section introduces the concepts of schema indexes and full-text schema indexes.

Indexes are used to speed up search.

When we talk about indexes we often mean schema indexes. Schema indexes are created and dropped using Cypher. Users typically do not have to know about the index in order to use it, since Cypher’s query planner decides which index to use in which situation. Schema indexes are good at exact lookups, range scans, full scans, and prefix searches.

For details on the configuration aspects of schema indexes, see Section 11.2.2, “Schema indexes”. For details on creating, using and dropping schema indexes, see Cypher Manual → Indexes.

Full-text schema indexes are sometimes referred to as full-text indexes. They are used for queries that demand an understanding of language. For example, a full-text index is useful if we wish to parse a book for a certain term, and take advantage of the knowledge that the book is written in a certain language. The use of an analyzer for that language will, among other things, allow for excluding words that are not relevant for the search (for example if and and) and include conjugations of words that are. In contrast to schema indexes, full-text indexes are created, used and dropped using built-in procedures. The use of full-text indexes do require a familiarity with how the indexes operate.

For details on the configuration aspects of schema indexes, see Section 11.2.3, “Indexes to support full-text search”. For details on creating, using and dropping schema indexes, see Cypher Manual → Indexes to support full-text search.