anchor.diff:  [[search-request-highlighting]]
   === Highlighting
   
  -Highlighters allow you to produce highlighted snippets from one or more fields
  -in your search results.
  -The following is an example of the search request body:
  +Highlighters enable you to get highlighted snippets from one or more fields
  +in your search results so you can show users where the query matches are.
  +When you request highlights, the response contains an additional `highlight`
  +element for each search hit that includes the highlighted fields and the
  +highlighted fragments.
  +
  +Highlighting requires the actual content of a field. If the field is not
  +stored (the mapping does not set `store` to `true`), the actual `_source` is
  +loaded and the relevant field is extracted from `_source`.
  +
  +NOTE: The `_all` field cannot be extracted from `_source`, so it can only
  +be used for highlighting if it is explicitly stored.
  +
  +For example, to get highlights for the `content` field in each search hit
  +using the default highlighter, include a `highlight` object in
  +the request body that specifies the `content` field:
   
   [source,js]
   --------------------------------------------------
  
positive.code: // CONSOLE
  // TEST[setup:twitter]
  
  [[boundary-scanners]]
  ==== Boundary Scanners
  
  When highlighting a field using the unified highlighter or the fast vector highlighter,
  you can specify how to break the highlighted fragments using `boundary_scanner`, which accepts
  the following values:
  
  * `chars` (default mode for the FVH): allows to configure which characters (`boundary_chars`)
  constitute a boundary for highlighting. It's a single string with each boundary
  character defined in it (defaults to `.,!? \t\n`). It also allows configuring
  the `boundary_max_scan` to control how far to look for boundary characters
  (defaults to `20`). Works only with the Fast Vector Highlighter.
  
  * `sentence` and `word`: use Java's https://docs.oracle.com/javase/8/docs/api/java/text/BreakIterator.html[BreakIterator]
  to break the highlighted fragments at the next  _sentence_ or _word_ boundary.
  You can further specify `boundary_scanner_locale` to control which Locale is used
  to search the text for these boundaries.
  
  [NOTE]
  When used with the `unified` highlighter, the `sentence` scanner splits sentence
  bigger than `fragment_size` at the first word boundary next to `fragment_size`.
  You can set `fragment_size` to 0 to never split any sentence.
  
  [[matched-fields]]
  ==== Matched Fields
  
  WARNING: This is only supported by the `fvh` highlighter
  
  The Fast Vector Highlighter can combine matches on multiple fields to
  highlight a single field using `matched_fields`.  This is most
  intuitive for multifields that analyze the same string in different
  ways.  All `matched_fields` must have `term_vector` set to
  `with_positions_offsets` but only the field to which the matches are
  combined is loaded so only that field would benefit from having
  `store` set to `yes`.
  
  In the following examples `comment` is analyzed by the `english`
  analyzer and `comment.plain` is analyzed by the `standard` analyzer.
  
  [source,js]
  
negative.code: 
  If the `number_of_fragments` option is set to `0`,
  `NullFragmenter` is used which does not fragment the text at all.
  This is useful for highlighting the entire contents of a document or field.
  
  ===== Specifying a highlight query
  
  Here is an example of including both the search
  query and the rescore query in `highlight_query`.
  
  [source,js]
  --------------------------------------------------
  GET /_search
  