Reverse token filter
Reverse token filter
Reverses each token in a stream. For example, you can use the reverse
filter to change cat
to tac
.
Reversed tokens are useful for suffix-based searches, such as finding words that end in -ion
or searching file names by their extension.
This filter uses Lucene’s ReverseStringFilter.
Example
The following analyze API request uses the reverse
filter to reverse each token in 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"
}
The filter produces the following tokens:
[ kciuq, xof, spmuj ]
Add to an analyzer
The following create index API request uses the reverse
filter to configure a new custom analyzer.
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"]
}
}
}
}
}
当前内容版权归 elasticsearch 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 elasticsearch .