Lucene.Net Risultato della ricerca per evidenziare le parole chiave di ricerca
-
06-07-2019 - |
Domanda
Uso Lucene.Net per indicizzare alcuni documenti. Voglio mostrare all'utente un paio di righe sul motivo per cui quel documento è nel set di risultati. proprio come quando si utilizza google per la ricerca e mostra il collegamento e seguito dal collegamento ci sono alcune righe con le parole chiave evidenziate. qualche idea?
Soluzione
Quando hai un risultato puoi ottenere il testo indicizzato e passarlo insieme alla tua query attraverso un metodo simile a questo:
public string GeneratePreviewText(Query q, string text)
{
QueryScorer scorer = new QueryScorer(q);
Formatter formatter = new SimpleHTMLFormatter(highlightStartTag, highlightEndTag);
Highlighter highlighter = new Highlighter(formatter, scorer);
highlighter.SetTextFragmenter(new SimpleFragmenter(fragmentLength));
TokenStream stream = new StandardAnalyzer().TokenStream(new StringReader(text));
return highlighter.GetBestFragments(stream, text, fragmentCount, fragmentSeparator);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow