.. _es-guide-reference-index-modules-analysis-icu-plugin: ========== Icu Plugin ========== The `ICU `_ analysis plugin allows for unicode normalization, collation and folding. The plugin is called **analysis-icu** and can be installed by running: .. code-block:: js bin/plugin install analysis-icu The plugin includes the following analysis components: ICU Normalization ================= Normalizes characters as explained `here `_. It registers itself by default under **icu_normalizer** or **icuNormalizer** using the default settings. Allows for the name parameter to be provided which can include the following values: **nfc**, **nfkc**, and **nfkc_cf**. Here is a sample settings: .. code-block:: js { "index" : { "analysis" : { "analyzer" : { "collation" : { "tokenizer" : "keyword", "filter" : ["icu_normalizer"] } } } } } ICU Folding =========== Folding of unicode characters based on **UTR#30**. It registers itself under **icu_folding** and **icuFolding** names. Sample setting: .. code-block:: js { "index" : { "analysis" : { "analyzer" : { "collation" : { "tokenizer" : "keyword", "filter" : ["icu_folding"] } } } } } ICU Collation ============= Uses collation token filter. Allows to either specify the rules for collation (defined `here `_ using the **rules** parameter (can point to a location or expressed in the settings, location can be relative to config location), or using the **language** parameter (further specialized by country and variant). By default registers under **icu_collation** or **icuCollation** and uses the default locale. Here is a sample settings: .. code-block:: js { "index" : { "analysis" : { "analyzer" : { "collation" : { "tokenizer" : "keyword", "filter" : ["icu_collation"] } } } } } And here is a sample of custom collation: .. code-block:: js { "index" : { "analysis" : { "analyzer" : { "collation" : { "tokenizer" : "keyword", "filter" : ["myCollator"] } }, "filter" : { "myCollator" : { "type" : "icu_collation", "language" : "en" } } } } }