anchor.diff:        "analyzer": {
           "my_analyzer": {
             "tokenizer": "keyword",
  -          "char_filter": ["my_char_filter"]
  +          "char_filter": [
  +            "my_custom_html_strip_char_filter"
  +          ]
           }
         },
         "char_filter": {
  -        "my_char_filter": {
  +        "my_custom_html_strip_char_filter": {
             "type": "html_strip",
  -          "escaped_tags": ["b"]
  +          "escaped_tags": [
  +            "b"
  +          ]
           }
         }
       }
     }
   }
  -
  -POST my_index/_analyze
  -{
  -  "analyzer": "my_analyzer",
  -  "text": "<p>I&apos;m so <b>happy</b>!</p>"
  -}
  -----------------------------
  -
  -/////////////////////
  -
  -[source,console-result]
  -----------------------------
  -{
  -  "tokens": [
  -    {
  -      "token": "\nI'm so <b>happy</b>!\n",
  -      "start_offset": 0,
  -      "end_offset": 32,
  -      "type": "word",
  -      "position": 0
  -    }
  -  ]
  -}
  -----------------------------
  -
  -/////////////////////
  -
  -
  -The above example produces the following term:
  -
  -[source,text]
  ----------------------------
  -[ \nI'm so <b>happy</b>!\n ]
  ----------------------------
  +----
  
positive.code:     }
    ]
  }
  ----------------------------
  
  /////////////////////
  
  
  The above example returns the term:
  
  [source,text]
  ---------------------------
  [ \nI'm so happy!\n ]
  ---------------------------
  
  The same example with the `standard` tokenizer would return the following terms:
  
  [source,text]
  ---------------------------
  [ I'm, so, happy ]
  ---------------------------
  
  [float]
  === Configuration
  
  The `html_strip` character filter accepts the following parameter:
  
  [horizontal]
  `escaped_tags`::
  
      An array of HTML tags which should not be stripped from the original text.
  
  [float]
  === Example configuration
  
  In this example, we configure the `html_strip` character filter to leave `<b>`
  tags in place:
  
  [source,console]
  ----------------------------
  PUT my_index
  {
    "settings": {
  
negative.code: [[analysis-htmlstrip-charfilter]]
  === HTML strip character filter
  ++++
  <titleabbrev>HTML strip</titleabbrev>
  ++++
  
  Strips HTML elements from a text and replaces HTML entities with their decoded
  value (e.g, replaces `&amp;` with `&`).
  
  The `html_strip` filter uses Lucene's
  {lucene-analysis-docs}/charfilter/HTMLStripCharFilter.html[HTMLStripCharFilter].
  
  [[analysis-htmlstrip-charfilter-analyze-ex]]
  ==== Example
  
  The following <<indices-analyze,analyze API>> request uses the
  `html_strip` filter to change the text `<p>I&apos;m so <b>happy</b>!</p>` to
  `\nI'm so happy!\n`.
  
  [source,console]
  ----
  GET /_analyze
  {
    "tokenizer": "keyword",
    "char_filter": [
      "html_strip"
    ],
    "text": "<p>I&apos;m so <b>happy</b>!</p>"
  }
  ----
  
  The filter produces the following text:
  
  [source,text]
  ----
  [ \nI'm so happy!\n ]
  ----
  
  ////
  [source,console-result]
  ----
  {
    "tokens": [
      {
  