J'utilise Lucene.Net pour indexer certains documents. Je veux montrer à l'utilisateur quelques lignes sur la raison pour laquelle ce document est dans le jeu de résultats. tout comme lorsque vous utilisez google pour rechercher et il montre le lien et suivi par le lien il y a quelques lignes avec les mots-clés en surbrillance. des idées?Lucene.Net Résultat de la recherche pour mettre en surbrillance les mots clés de recherche
17
A
Répondre
23
Lorsque vous avez un résultat que vous pouvez obtenir le texte indexé le transmettre avec votre requête par une méthode similaire à celle-ci:
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);
}
Vous êtes un partenaire de pierres précieuses. Merci. –
Sortis de moi, mais a dû passer une valeur de chaîne arbitraire en tant que premier paramètre de TokenStream. – ctrlplusb
J'ai dû ajouter le paquet nuget Lucene.Net.Contrib pour trouver ces objets. –