Нормализаторы
Нормализаторы похожи на анализаторы, за исключением того, что они могут выводить только один токен. Вследствие этого, у них нет токенизатора и они принимают только подмножество доступных фильтров символов и токенов. Разрешены только фильтры, работающие на основе отдельных символов. Например, фильтр преобразования в нижний регистр будет разрешен, но не фильтр стемминга, которому требуется рассматривать ключевое слово целиком. Текущий список фильтров, которые могут быть использованы в определении нормализатора: arabic_normalization, asciifolding, bengali_normalization, cjk_width, decimal_digit, elision, german_normalization, hindi_normalization, indic_normalization, lowercase, persian_normalization, scandinavian_folding, serbian_normalization, sorani_normalization, uppercase.
Elasticsearch поставляется с встроенным нормализатором lowercase. Для других форм нормализации требуется настройка пользовательской конфигурации.
Пользовательские нормализаторы
Пользовательские нормализаторы принимают список фильтров символов и список фильтров токенов.
PUT index
{
"settings": {
"analysis": {
"char_filter": {
"quote": {
"type": "mapping",
"mappings": [
"« => \"",
"» => \""
]
}
},
"normalizer": {
"my_normalizer": {
"type": "custom",
"char_filter": ["quote"],
"filter": ["lowercase", "asciifolding"]
}
}
}
},
"mappings": {
"properties": {
"foo": {
"type": "keyword",
"normalizer": "my_normalizer"
}
}
}
}
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/analysis-normalizers.html