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.
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 ]
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"] } } } } }