Фильтр токенов Truncate
Усекает токены, превышающие заданный лимит символов. Этот лимит по умолчанию равен 10, но может быть настроен с помощью параметра length.
Например, вы можете использовать фильтр truncate, чтобы укоротить все токены до 3 символов или меньше, изменив jumping fox на jum fox.
Этот фильтр использует TruncateTokenFilter из Lucene.
Пример
Следующий запрос API analyze API использует фильтр truncate для укорачивания токенов, превышающих 10 символов в the quinquennial extravaganza carried on:
GET _analyze
{
"tokenizer" : "whitespace",
"filter" : ["truncate"],
"text" : "the quinquennial extravaganza carried on"
} Фильтр генерирует следующие токены:
[ the, quinquenni, extravagan, carried, on ]
Добавление в анализатор
Следующий запрос API создания индекса использует фильтр truncate для настройки нового настраиваемого анализатора.
PUT custom_truncate_example
{
"settings" : {
"analysis" : {
"analyzer" : {
"standard_truncate" : {
"tokenizer" : "standard",
"filter" : ["truncate"]
}
}
}
}
} Настраиваемые параметры
-
length - (Необязательно, целое число) Лимит символов для каждого токена. Токены, превышающие этот лимит, усекаются. По умолчанию равен
10.
Настройка
Чтобы настроить фильтр truncate, создайте его дубликат, чтобы получить основу для нового пользовательского фильтра токенов. Вы можете изменить фильтр, используя его настраиваемые параметры.
Например, следующий запрос создаёт пользовательский фильтр truncate, 5_char_trunc, который укорачивает токены до length символов или меньше: 5
PUT 5_char_words_example
{
"settings": {
"analysis": {
"analyzer": {
"lowercase_5_char": {
"tokenizer": "lowercase",
"filter": [ "5_char_trunc" ]
}
},
"filter": {
"5_char_trunc": {
"type": "truncate",
"length": 5
}
}
}
}
}
© 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-truncate-tokenfilter.html