为了在Lucene查询返回的文档中显示突出显示的匹配词,Lucene搜索结果可能包含用于返回文档以匹配我的请求的单词。
例如:
如何用Lucene来实现这一点?我无法手动处理cat的或的,或者请求的单词和返回的单词之间的任何区别。
发布于 2015-12-16 08:27:36
使用Lucene的Highlighter
。就像这样:
//By default, this formatter will wrap highlights with <b>, but that is configurable.
Formatter formatter = new SimpleHTMLFormatter();
QueryScorer scorer = new QueryScorer(query);
Highlighter highlighter = new Highlighter(formatter, queryScorer);
//You can set a fragmenter as well, by default it will split into fragments 100 chars in size, using SimpleFragmenter.
String highlightedSnippet = highlighter.getBestFragment(myAnalyzer, fieldName, fieldContent);
https://stackoverflow.com/questions/34257234
复制