之前做高亮,用lucene默认的HighLighter,显示结果的时候有个问题.但是也是在细颗粒分词的时候才出现的,比如说:
中国地质大学 分词的时候是一个长词,如果细颗粒分词的话,我们希望分词结果是:
中国地质大学 |中国|地质|大学|
如果用HighLighter的话,就会有个问题,当搜索词是 "中国 大学"的时候,对"中国地质大学" 这个字符串的高亮就是错误的,正确的结果应该是 : "<b>中国</b>地质<b>大学</b>"
而实际上高亮的结果是:<b>中国地质大学</b> 这基本上是因为汉语和英文的区别造成的
自己重写MarkedTokenGroup这个类,解决的这个问题,并且对HighLighter也重写了,但修改的不多.