我正在尝试突出显示 HTML 块中的搜索词,问题是如果用户搜索“颜色”,这个:
<span style='color: white'>白色</span>
变为:<span style=' <b>color</b> : white'><b>White</b></span>
显然,搞乱我的风格不是一个好主意。
这是我正在使用的代码:
Query parsedQuery = parser.Parse(luceneQuery);
StandardAnalyzer Analyzer = new StandardAnalyzer();
SimpleHTMLFormatter formatter = new SimpleHTMLFormatter("<b class='search'>", "</b>");
QueryScorer scorer = new QueryScorer(parsedQuery);
Highlighter highlighter = new Highlighter(formatter, scorer);
highlighter.SetTextFragmenter(new SimpleFragmenter());
Highlighter.GetBestFragment(Analyzer, propertyName, invocation.ReturnValue.ToString())
我猜问题是我需要一个不同的 Fragmenter,但我不确定。任何帮助,将不胜感激。