Я пытаюсь сделать выделение в результатах поиска. Вот соответствующая часть моего кода.
QueryScorer scorer = new QueryScorer(q);
Lucene.Net.Search.Highlight.IFormatter formatter = new SimpleHTMLFormatter("<b>", "</b>");
Lucene.Net.Search.Highlight.Highlighter highlighter = new Highlighter(formatter, scorer);
highlighter.TextFragmenter = new SimpleFragmenter(800);
Lucene.Net.Util.Version vers = new Lucene.Net.Util.Version();
vers = Lucene.Net.Util.Version.LUCENE_30;
TokenStream stream = new StandardAnalyzer(vers).TokenStream(string.Empty, new StringReader(text));
string s = string.Empty;
try
{
s = highlighter.GetBestFragments(stream, text, 10, "...");
}
Здесь метод GetBestFragments генерирует исключение System.MissingMethodException. Я попытался заменить исходную dll Lucene.net на Lucene.Net.Contrib, но на этот раз я не знаю, что мне следует написать вместо TokenStream. Его нет в dll Lucene.Net.Contrib.*.
Я работаю над существующим кодом, и мне нужно выяснить, как я могу переписать класс TokenStream и метод GetBestFragments.
спасибо