1# Stemming Support
2
3RediSearch supports stemming - that is adding the base form of a word to the index. This allows the query for "going" to also return results for "go" and "gone", for example.
4
5The current stemming support is based on the Snowball stemmer library, which supports most European languages, as well as Arabic and other. We hope to include more languages soon (if you need a specific language support, please open an issue).
6
7For further details see the [Snowball Stemmer website](http://snowballstem.org/).
8
9## Supported languages
10
11The following languages are supported and can be passed to the engine when indexing or querying, with lowercase letters:
12
13* arabic
14* armenian
15* danish
16* dutch
17* english
18* finnish
19* french
20* german
21* hungarian
22* italian
23* norwegian
24* portuguese
25* romanian
26* russian
27* serbian
28* spanish
29* swedish
30* tamil
31* turkish
32* yiddish
33* chinese (see below)
34
35## Chinese support
36
37Indexing a Chinese document is different than indexing a document in most other languages because of how tokens are extracted. While most languages can have their tokens distinguished by separation characters and whitespace, this is not common in Chinese.
38
39Chinese tokenization is done by scanning the input text and checking every character or sequence of characters against a dictionary of predefined terms and determining the most likely (based on the surrounding terms and characters) match.
40
41RediSearch makes use of the [Friso](https://github.com/lionsoul2014/friso) chinese tokenization library for this purpose. This is largely transparent to the user and often no additional configuration is required.
42
43## Using custom dictionaries
44
45If you wish to use a custom dictionary, you can do so at the module level when loading the module. The `FRISOINI` setting can point to the location of a `friso.ini` file which contains the relevant settings and paths to the dictionary files.
46
47Note that there is no "default" friso.ini file location. RedisSearch comes with its own `friso.ini` and dictionary files which are compiled into the module binary at build-time.
48