Highlighting is an expensive process and can slow down query times.
We recommend passing a
LIMIT to any query where pdb.snippet or pdb.snippets is called to restrict the
number of snippets that need to be generated.Highlighting is not supported for fuzzy search.
Basic Usage
pdb.snippet(<column>) can be added to any query where an @@@ operator is present. pdb.snippet returns the single best snippet, sorted by relevance score.
The following query generates highlighted snippets against the description field.
The leading indicator around the highlighted region.
The trailing indicator around the highlighted region.
Max number of characters for a highlighted snippet. A snippet may contain multiple matches if they are close to each other.
<b></b> encloses the snippet. This can be configured with start_tag and end_tag:
Multiple Snippets
pdb.snippets(<column>) returns an array of snippets, allowing you to retrieve multiple highlighted matches from a document. This is particularly useful when a document has several relevant matches spread throughout its content.
Expected Response
Expected Response
The leading indicator around the highlighted region.
The trailing indicator around the highlighted region.
Max number of characters for a highlighted snippet. When
max_num_chars is small, multiple snippets may be generated for a single document.The maximum number of snippets to return per document.
The number of snippets to skip before returning results. Use with
limit for pagination.The order in which to sort the snippets. Can be
'score' (default, sorts by relevance) or 'position' (sorts by appearance in the document).Limiting and Offsetting Snippets
You can control the number and order of snippets returned using thelimit, offset, and sort_by parameters.
For example, to get only the first snippet:
Sorting Snippets
Snippets can be sorted either by their relevance score ('score') or their position within the document ('position').
To sort snippets by their appearance in the document:
Byte Offsets
pdb.snippet_positions(<column>) returns the byte offsets in the original text where the snippets would appear. It returns an array of
tuples, where the the first element of the tuple is the byte index of the first byte of the highlighted region, and the second element is the byte index after the last byte of the region.
Expected Response
Expected Response