关于lucene高亮显示的问题

ppa731 2007-11-28
比如我对一篇文章进行了索引,搜索的时候,正好这个搜索的关键字在文章中间,而我要显示的内容有限,所以我只取了文章开头部分,正好这部分内容中没有关键字,我对这部分做高亮处理,处理结果却返回null.
我的处理过程是这样的(其中的text是已经截取出来的文本内容),如果包含关键字就不会出现这样的问题.
TokenStream tokenStream = analyzer.tokenStream("contents", new StringReader(text));
text = highlighter.getBestFragment(tokenStream, text);

请问是什么问题.
imjl 2007-11-28
try catch一把。

如果不包含关键词就不做高亮啊。
ppa731 2007-11-28
如果不包含关键词就不做高亮啊。
-------
是不是先对检查概要内容中有没有关键字,没有就不处理.
这样是不会出错,可这样对用户来说,他搜索出来的内容却不包含关键字,不太直观啊,lucene中有没有可以抽取含关键字内容的方法?
或者我从第一次出现关键字的地方开始抽取,但这样,效率可能会有问题.
javaeyes 2007-12-03
ppa731 写道
,正好这个搜索的关键字在文章中间,而我要显示的内容有限,所以我只取了文章开头部分

你为什么取开头部分呢?开头部分没有关键词你叫它给你加亮什么呢?我觉得你的需求比较怪。顺便告诉你,highlight包你是可以自己指定高亮文本的大小的,比如50
Global site tag (gtag.js) - Google Analytics