IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Reverse token filter
editReverse token filter
editReverses 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
editThe 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
editThe 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"] } } } } }