Module snippet

Module snippet 

Source
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
Snippet Contains a fragment of a document, and some highlighted parts inside it.
SnippetGenerator
SnippetGenerator

Functions§

collapse_overlapped_ranges
Collapses ranges into non-overlapped ranges.