Фильтр токенов Uppercase
Изменяет текстовые токены на заглавные буквы. Например, вы можете использовать фильтр uppercase для изменения the Lazy DoG на THE LAZY DOG.
Этот фильтр использует UpperCaseFilter Lucene.
В зависимости от языка, одна заглавная буква может соответствовать нескольким строчным буквам. Использование фильтра uppercase может привести к потере информации о строчных буквах.
Чтобы избежать этой потери, но сохранить согласованный регистр букв, используйте фильтр lowercase вместо него.
Пример
Следующий запрос API анализировать использует фильтр по умолчанию uppercase для изменения the Quick FoX JUMPs на заглавные буквы:
resp = client.indices.analyze(
tokenizer="standard",
filter=[
"uppercase"
],
text="the Quick FoX JUMPs",
)
print(resp) response = client.indices.analyze(
body: {
tokenizer: 'standard',
filter: [
'uppercase'
],
text: 'the Quick FoX JUMPs'
}
)
puts response const response = await client.indices.analyze({
tokenizer: "standard",
filter: ["uppercase"],
text: "the Quick FoX JUMPs",
});
console.log(response); GET _analyze
{
"tokenizer" : "standard",
"filter" : ["uppercase"],
"text" : "the Quick FoX JUMPs"
} Фильтр генерирует следующие токены:
[ THE, QUICK, FOX, JUMPS ]
Добавление в анализатор
Следующий запрос API создания индекса использует фильтр uppercase для настройки нового пользовательского анализатора.
resp = client.indices.create(
index="uppercase_example",
settings={
"analysis": {
"analyzer": {
"whitespace_uppercase": {
"tokenizer": "whitespace",
"filter": [
"uppercase"
]
}
}
}
},
)
print(resp) response = client.indices.create(
index: 'uppercase_example',
body: {
settings: {
analysis: {
analyzer: {
whitespace_uppercase: {
tokenizer: 'whitespace',
filter: [
'uppercase'
]
}
}
}
}
}
)
puts response const response = await client.indices.create({
index: "uppercase_example",
settings: {
analysis: {
analyzer: {
whitespace_uppercase: {
tokenizer: "whitespace",
filter: ["uppercase"],
},
},
},
},
});
console.log(response); PUT uppercase_example
{
"settings": {
"analysis": {
"analyzer": {
"whitespace_uppercase": {
"tokenizer": "whitespace",
"filter": [ "uppercase" ]
}
}
}
}
}
© 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/8.17/analysis-uppercase-tokenfilter.html