lucene.net получает только совпадения, выделяет ключевые слова, а не весь текст и совпадения - PullRequest
0 голосов
/ 18 сентября 2018

Я использую этот простой код, чтобы выделить слова соответствия в строке:

  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Подсветка сценария это было бы здорово ..

...