# Package org.apache.lucene.search.matchhighlight

package org.apache.lucene.search.matchhighlight
This package contains several components useful to build a highlighter on top of the `Matches` API.

`MatchRegionRetriever` can be used to retrieve hit areas for a given `Query` and one (or more) indexed documents. These hit areas can be then passed to `PassageSelector` and formatted with `PassageFormatter`.

Class
Description
BreakIteratorShrinkingAdjuster
A `PassageAdjuster` that adjusts the `Passage` range to word boundaries hinted by the given `BreakIterator`.
FieldValueHighlighters
A factory of `MatchHighlighter.FieldValueHighlighter` classes that cover typical use cases (verbatim values, highlights, abbreviations).
MatchHighlighter
An example highlighter that combines several lower-level utility classes in this package into a fully featured, ready-to-use component.
MatchHighlighter.DocHighlights
Single document's highlights.
MatchHighlighter.FieldValueHighlighter
Actual per-field highlighter.
MatchHighlighter.QueryOffsetRange
An `OffsetRange` of a match, together with the source query that caused it.
MatchRegionRetriever
Utility class to compute a list of "match regions" for a given query, searcher and document(s) using `Matches` API.
MatchRegionRetriever.FieldValueProvider
Access to field values of the highlighted document.
MatchRegionRetriever.MatchOffsetsConsumer
A callback invoked for each document selected by the query.
OffsetRange
A non-empty range of offset positions.
OffsetsFromMatchIterator
This strategy retrieves offsets directly from `MatchesIterator`, if they are available, otherwise it falls back to using `OffsetsFromPositions`.
OffsetsFromPositions
This strategy applies to fields with stored positions but no offsets.
OffsetsFromTokens
This strategy works for fields where we know the match occurred but there are no known positions or offsets.
OffsetsFromValues
This strategy works for fields where we know the match occurred but there are no known positions or offsets.
OffsetsRetrievalStrategy
Determines how match offset regions are computed from `MatchesIterator`.
OffsetsRetrievalStrategySupplier
A per-field supplier of `OffsetsRetrievalStrategy`.
Passage
A passage is a fragment of source text, scored and possibly with a list of sub-offsets (markers) to be highlighted.
PassageAdjuster
Adjusts the range of one or more passages over a given value.
PassageFormatter
Formats a collection of passages over a given string, cleaning up and resolving restrictions concerning overlaps, allowed sub-ranges over the input string and length restrictions.
PassageSelector
Selects fragments of text that score best for the given set of highlight markers.