Я использую Lucene.Net для индексации некоторых документов. Я хочу показать пользователю пару строк о том, почему этот документ находится в результирующем наборе. точно так же, как при использовании Google для поиска, и он показывает ссылку, а за ней следует несколько строк с выделенными ключевыми словами. любые идеи?
Lucene.Net Результат поиска, чтобы выделить ключевые слова для поиска
Ответ 1
Когда у вас есть результат, вы можете получить проиндексированный текст, передав его вместе с вашим запросом с помощью метода, аналогичного этому:
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);
}