lucene 搜索时未命中匹配度最高的关键语句怎么办
原因:默认的最大分词或者分析字符为51200个,当内容超过这个值时,后面的内容将不会被分析和匹配。
解决办法:
高亮显示设置更大的maxDocCharsToAnalyze 值,需要覆盖大文本的全文内容,这样才能保证命中最准确的语句或者关键词。
java
String highlight_left_temp ="<span style='color:red'>";
String highlight_right_temp ="</span>";
//高亮显示
SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter(highlight_left_temp, highlight_right_temp);
Highlighter highlighter = new Highlighter(simpleHTMLFormatter, new QueryScorer(query));
//高亮后的段落范围在100字内
Fragmenter fragmenter = new SimpleFragmenter(100);
highlighter.setTextFragmenter(fragmenter);
highlighter.setMaxDocCharsToAnalyze(Integer.MAX_VALUE); //关键设置