Browse Source

[DOCS] Reformat reverse token filter docs (#50672)

* Updates the description and adds a Lucene link
* Adds analyze and custom analyzer snippets
James Rodewig 5 years ago
parent
commit
b0ffc60b80
1 changed files with 87 additions and 1 deletions
  1. 87 1
      docs/reference/analysis/tokenfilters/reverse-tokenfilter.asciidoc

+ 87 - 1
docs/reference/analysis/tokenfilters/reverse-tokenfilter.asciidoc

@@ -4,4 +4,90 @@
 <titleabbrev>Reverse</titleabbrev>
 ++++
 
-A token filter of type `reverse` that simply reverses each token.
+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
+https://lucene.apache.org/core/{lucene_version_path}/analyzers-common/org/apache/lucene/analysis/reverse/ReverseStringFilter.html[ReverseStringFilter].
+
+[[analysis-reverse-tokenfilter-analyze-ex]]
+==== Example
+
+The following <<indices-analyze,analyze API>> request uses the `reverse`
+filter to reverse each token in `quick fox jumps`:
+
+[source,console]
+--------------------------------------------------
+GET _analyze
+{
+  "tokenizer" : "standard",
+  "filter" : ["reverse"],
+  "text" : "quick fox jumps"
+}
+--------------------------------------------------
+
+The filter produces the following tokens:
+
+[source,text]
+--------------------------------------------------
+[ kciuq, xof, spmuj ]
+--------------------------------------------------
+
+/////////////////////
+[source,console-result]
+--------------------------------------------------
+{
+  "tokens" : [
+    {
+      "token" : "kciuq",
+      "start_offset" : 0,
+      "end_offset" : 5,
+      "type" : "<ALPHANUM>",
+      "position" : 0
+    },
+    {
+      "token" : "xof",
+      "start_offset" : 6,
+      "end_offset" : 9,
+      "type" : "<ALPHANUM>",
+      "position" : 1
+    },
+    {
+      "token" : "spmuj",
+      "start_offset" : 10,
+      "end_offset" : 15,
+      "type" : "<ALPHANUM>",
+      "position" : 2
+    }
+  ]
+}
+--------------------------------------------------
+/////////////////////
+
+[[analysis-reverse-tokenfilter-analyzer-ex]]
+==== Add to an analyzer
+
+The following <<indices-create-index,create index API>> request uses the
+`reverse` filter to configure a new
+<<analysis-custom-analyzer,custom analyzer>>.
+
+[source,console]
+--------------------------------------------------
+PUT reverse_example
+{
+  "settings" : {
+    "analysis" : {
+      "analyzer" : {
+        "whitespace_reverse" : {
+          "tokenizer" : "whitespace",
+          "filter" : ["reverse"]
+        }
+      }
+    }
+  }
+}
+--------------------------------------------------