Я использую этот простой код, чтобы выделить слова соответствия в строке:
var query = "محمد";
var snowballAnalyzer = new ArabicAnalyzer(Lucene.Net.Util.Version.LUCENE_30, "Arabic");
var input = new QueryParser(Lucene.Net.Util.Version.LUCENE_30, "",snowballAnalyzer).Parse(query);
var text = "محمٌد محمُد محمَد اسعد محمود";
var steam = TokenSources.GetTokenStream("default",text,snowballAnalyzer);
var hit = new Highlighter(new SimpleHTMLFormatter(),new QueryScorer(input));
TextFragment[] frag = hit.GetBestTextFragments(steam ,text,false,4);
String textt = hit.GetBestFragment(snowballAnalyzer , "", Text);
Debug.WriteLine(textt);
for(int j = 0; j<frag.Length; j++){
if((frag[j]!=null)){
Debug.WriteLine(frag[j]);
}
}
и работает хорошо, поэтому, если я ищу "محمد": он найдет все совпадения и напечатает весь текст:
<B>محمٌد</B> <B>محمُد</B> <B>محمَد</B> اسعد محمود
что я хочу, чтобы извлечь только ключевое слово совпадений из текста, чтобы использовать его в контроллере Webbrowser. Я имею в виду, что я хочу только совпадения. Выделенные ключевые слова, а не весь текст. Как можноя делаю это ..
мне нужны ключевые слова, чтобы я мог использовать скрипт HighLighter javscript и использовать его в контроллере webbrowser для выделения совпадений ключевых слов на html-странице, но если я могу использовать lucene.net Highlighter напрямую без необходимости использования jsПодсветка сценария это было бы здорово ..