关于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 |