Expand description
SnippetGenerator
Generates a text snippet for a given document, and some highlighted parts inside it.
Imagine you doing a text search in a document and want to show a preview of where in the document the search terms occur, along with some surrounding text to give context, and the search terms highlighted.
SnippetGenerator serves this purpose.
It scans a document and constructs a snippet, which consists of sections where the search terms
have been found, stitched together with “…” in between sections if necessary.
§Example
use tantivy::snippet::SnippetGenerator;
// ...
let query = query_parser.parse_query("haleurs flamands").unwrap();
let mut snippet_generator = SnippetGenerator::create(&searcher, &*query, text_field)?;
snippet_generator.set_max_num_chars(100);
let snippet = snippet_generator.snippet_from_doc(&doc);
let snippet_html: String = snippet.to_html();
assert_eq!(snippet_html, "Comme je descendais des Fleuves impassibles,\n Je ne me sentis plus guidé par les <b>haleurs</b> :\n Des");You can also specify the maximum number of characters for the snippets generated with the
set_max_num_chars method. By default, this limit is set to 150.
SnippetGenerator needs to be created from the Searcher and the query, and the field on which
the SnippetGenerator should generate the snippets.
Structs§
- Snippet
SnippetContains a fragment of a document, and some highlighted parts inside it.- Snippet
Generator SnippetGenerator
Functions§
- collapse_
overlapped_ ranges - Collapses ranges into non-overlapped ranges.