Токенайзер Simple pattern split
Токенайзер simple_pattern_split использует регулярное выражение для разделения входных данных на токены в точках совпадения с шаблоном. Набор функций регулярных выражений, которые он поддерживает, ограничен по сравнению с токенайзером pattern, но токенизация, как правило, происходит быстрее.
Этот токенайзер не создаёт токены из самих совпадений. Чтобы создавать токены из совпадений, используя шаблоны в том же ограниченном подмножестве регулярных выражений, см. токенайзер simple_pattern.
Этот токенайзер использует регулярные выражения Lucene. Для получения объяснения поддерживаемых функций и синтаксиса см. Синтаксис регулярных выражений.
По умолчанию шаблон — пустая строка, что даёт один токен, содержащий весь входной текст. Этот токенайзер всегда должен настраиваться с использованием нестандартного шаблона.
Настройка
Токенайзер simple_pattern_split принимает следующие параметры:
| | Регулярное выражение Lucene, по умолчанию — пустая строка. |
Пример настройки
В этом примере токенайзер simple_pattern_split настраивается для разделения входного текста по символам подчёркивания.
resp = client.indices.create(
index="my-index-000001",
settings={
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "my_tokenizer"
}
},
"tokenizer": {
"my_tokenizer": {
"type": "simple_pattern_split",
"pattern": "_"
}
}
}
},
)
print(resp)
resp1 = client.indices.analyze(
index="my-index-000001",
analyzer="my_analyzer",
text="an_underscored_phrase",
)
print(resp1) response = client.indices.create(
index: 'my-index-000001',
body: {
settings: {
analysis: {
analyzer: {
my_analyzer: {
tokenizer: 'my_tokenizer'
}
},
tokenizer: {
my_tokenizer: {
type: 'simple_pattern_split',
pattern: '_'
}
}
}
}
}
)
puts response
response = client.indices.analyze(
index: 'my-index-000001',
body: {
analyzer: 'my_analyzer',
text: 'an_underscored_phrase'
}
)
puts response const response = await client.indices.create({
index: "my-index-000001",
settings: {
analysis: {
analyzer: {
my_analyzer: {
tokenizer: "my_tokenizer",
},
},
tokenizer: {
my_tokenizer: {
type: "simple_pattern_split",
pattern: "_",
},
},
},
},
});
console.log(response);
const response1 = await client.indices.analyze({
index: "my-index-000001",
analyzer: "my_analyzer",
text: "an_underscored_phrase",
});
console.log(response1); PUT my-index-000001
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "my_tokenizer"
}
},
"tokenizer": {
"my_tokenizer": {
"type": "simple_pattern_split",
"pattern": "_"
}
}
}
}
}
POST my-index-000001/_analyze
{
"analyzer": "my_analyzer",
"text": "an_underscored_phrase"
} Приведённый выше пример генерирует следующие токены:
[ an, underscored, phrase ]
© 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-simplepatternsplit-tokenizer.html