A schema is mainly a directory which contains indexes. The name of the schema is the name of the directory. (some file system restrictions must be considered).
It is possible to set a concurrency limit on read and write.
The available parameters are:
The settings are stored in a file named settings.json stored in the root of the directory.
An index is stored in a Schema directory. The name of the index is the name of the directory (some file system restrictions must be considered).
Several configuration parameters are available. See the JSON API to see whose are available.
Analyzers are a set of rules that will be apply to a text.
They are used at indexing time to build tokens that will be indexed.
The text is first divided into tokens, and on each tokens, a collection of transformations can be applied.
There are different kind of tokenizer, as well as different kind of filters.
A tokenizer can create a new token when a blank character (space, tabulation) is found. Words can be divided when case changes, or when digits follow letter.
Filters can remove plural, reject words because they are part of the stop words.
At querying time, the analyzer is used to create the word list which will be use to build the search query.
Depending on how you want to query the index, for each kind of field, you have to choose a type. In an index, the typical options for a fields are:
To go further: