Фильтр обратного порядка
Инвертирует каждый токен в потоке. Например, вы можете использовать этот фильтр, чтобы изменить reverse на cat.
Инвертированные токены полезны для поиска по суффиксам, например, для нахождения слов, заканчивающихся на -ion, или поиска имён файлов по расширению.
Этот фильтр использует ReverseStringFilter из Lucene.
Пример
Следующий запрос API анализа использует фильтр reverse, чтобы инвертировать каждый токен в quick fox jumps:
resp = client.indices.analyze(
tokenizer="standard",
filter=[
"reverse"
],
text="quick fox jumps",
)
print(resp) response = client.indices.analyze(
body: {
tokenizer: 'standard',
filter: [
'reverse'
],
text: 'quick fox jumps'
}
)
puts response const response = await client.indices.analyze({
tokenizer: "standard",
filter: ["reverse"],
text: "quick fox jumps",
});
console.log(response); GET _analyze
{
"tokenizer" : "standard",
"filter" : ["reverse"],
"text" : "quick fox jumps"
} Фильтр генерирует следующие токены:
[ kciuq, xof, spmuj ]
Добавление в анализатор
Следующий запрос API создания индекса использует фильтр reverse для настройки нового настраиваемого анализатора.
resp = client.indices.create(
index="reverse_example",
settings={
"analysis": {
"analyzer": {
"whitespace_reverse": {
"tokenizer": "whitespace",
"filter": [
"reverse"
]
}
}
}
},
)
print(resp) response = client.indices.create(
index: 'reverse_example',
body: {
settings: {
analysis: {
analyzer: {
whitespace_reverse: {
tokenizer: 'whitespace',
filter: [
'reverse'
]
}
}
}
}
}
)
puts response const response = await client.indices.create({
index: "reverse_example",
settings: {
analysis: {
analyzer: {
whitespace_reverse: {
tokenizer: "whitespace",
filter: ["reverse"],
},
},
},
},
});
console.log(response); PUT reverse_example
{
"settings" : {
"analysis" : {
"analyzer" : {
"whitespace_reverse" : {
"tokenizer" : "whitespace",
"filter" : ["reverse"]
}
}
}
}
}
© 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-reverse-tokenfilter.html