Фильтр токенов ширины CJK
Нормализует различия в ширине символов CJK (китайский, японский и корейский) следующим образом:
- Преобразует варианты символов ASCII с полной шириной в эквивалентные базовые латинские символы
- Преобразует варианты символов катаканы с половинной шириной в эквивалентные символы катаканы
Этот фильтр включён в встроенный анализатор языка CJK Elasticsearch’s анализатор языка CJK. Он использует фильтр CJKWidthFilter из Lucene.
Этот фильтр токенов можно рассматривать как подмножество Unicode-нормализации NFKC/NFKD. Для полной поддержки нормализации см. analysis-icu плагин.
Пример
resp = client.indices.analyze(
tokenizer="standard",
filter=[
"cjk_width"
],
text="シーサイドライナー",
)
print(resp) response = client.indices.analyze(
body: {
tokenizer: 'standard',
filter: [
'cjk_width'
],
text: 'シーサイドライナー'
}
)
puts response const response = await client.indices.analyze({
tokenizer: "standard",
filter: ["cjk_width"],
text: "シーサイドライナー",
});
console.log(response); GET /_analyze
{
"tokenizer" : "standard",
"filter" : ["cjk_width"],
"text" : "シーサイドライナー"
} Фильтр создаёт следующий токен:
シーサイドライナー
Добавление в анализатор
Следующий запрос создания индекса использует фильтр токенов CJK ширины для настройки нового настроенного анализатора.
resp = client.indices.create(
index="cjk_width_example",
settings={
"analysis": {
"analyzer": {
"standard_cjk_width": {
"tokenizer": "standard",
"filter": [
"cjk_width"
]
}
}
}
},
)
print(resp) response = client.indices.create(
index: 'cjk_width_example',
body: {
settings: {
analysis: {
analyzer: {
standard_cjk_width: {
tokenizer: 'standard',
filter: [
'cjk_width'
]
}
}
}
}
}
)
puts response const response = await client.indices.create({
index: "cjk_width_example",
settings: {
analysis: {
analyzer: {
standard_cjk_width: {
tokenizer: "standard",
filter: ["cjk_width"],
},
},
},
},
});
console.log(response); PUT /cjk_width_example
{
"settings": {
"analysis": {
"analyzer": {
"standard_cjk_width": {
"tokenizer": "standard",
"filter": [ "cjk_width" ]
}
}
}
}
}
© 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-cjk-width-tokenfilter.html