Lucene 高亮 highlight error paoding

分词PaoDing2.0.4 小bug。

error:java.lang.StringIndexOutOfBoundsException: String index out of range: 1340
java.lang.String.substring(String.java:1765)
org.apache.lucene.search.highlight.Highlighter.getBestTextFragments(Highlighter.java:274)

暂时处理方法:在高亮的content最后加空格。eg:

content = hits.doc(i).get("bookname")+" ";

待作者更新

 

处理过程如下:

李岩 说:
hi
李岩 说:
反映个问题
李岩 说:
用paoding是 高亮会要问题
李岩 说:
java.lang.StringIndexOutOfBoundsException: String index out of range: 1340
java.lang.String.substring(String.java:1765)
org.apache.lucene.search.highlight.Highlighter.getBestTextFragments(Highlighter.java:274)
org.apache.lucene.search.highlight.Highlighter.getBestFragments(Highlighter.java:177)
org.apache.lucene.search.highlight.Highlighter.getBestFragments(Highlighter.java:463)
com.sitech.se
李岩 说:
有人说是paoding内部对分词的位置不对。
李岩 说:
请求协助
网友-paoding作者 说:
文本长度多大?
李岩 说:
哦 哪最大应该是多长啊
网友-paoding作者 说:
第1340个字符附近是什么字符串?
李岩 说:
但我现在高亮的只是摘要 很短的
网友-paoding作者 说:
文本长度多大?
第1340个字符附近是什么字符串?

李岩 说:
== 我看看
网友-paoding作者 说:
这个和摘要短没有关系
李岩 说:
hi
李岩 说:
摘要长为1339

无法将以下消息发送给所有接收者:
hi

无法将以下消息发送给所有接收者:
摘要长为1339

李岩 说:
摘要长为1339
1340 就超过长度了
李岩 说:
最后一句是“项大型活动;多次在学校运动会获奖”
李岩 说:
其他摘要会有别这个长的,但都没事
网友-paoding作者 说:
搜索什么的时候?
李岩 说:
搜“北京”
李岩 说:
全部摘要:如下
李岩 说:
教育经历2001年9月-2005年7月 北京大学 信息科学技术学院计算机科学与技术专业,2005年7月被授予理学学士;北京大学2001届优秀军训生;2005年获北京大学ACM/ICPC程序设计大赛奖项;历任北京大学计算机协会副会长、北京大学信息科学技术学院团委实践部部长、北京大学青年志愿者协会信息科学技术学院会长等社会活动职务;策划并参与了校内多项大型活动;多次在学校运动会获奖项目经验2008年5月-2008年8月 搜狗音乐搜索核心功能开发独立开发同义词等核心功能模块;参与改进索引、搜索、排序等核心功能;独立开发线上故障自动监测系统;制定相关开发规范以保证音乐搜索产品质量 该系列软件系统包括方正档案产品博通3.5、苏州市数字档案馆;其中苏州市数字档案馆包含相联的三套档案馆、200余家档案处室项目经验2008年5月-2008年8月 搜狗音乐搜索核心功能开发独立开发同义词等核心功能模块;参与改
李岩 说:
进索引、搜索、排序等核心功能;独立开发线上故障自动监测系统;制定相关开发规范以保证音乐搜索产品质量 该系列软件系统包括方正档案产品博通3.5、苏州市数字档案馆;其中苏州市数字档案馆包含相联的三套档案馆、200余家档案处室项目经验2008年5月-2008年8月 搜狗音乐搜索核心功能开发独立开发同义词等核心功能模块;参与改进索引、搜索、排序等核心功能;独立开发线上故障自动监测系统;制定相关开发规范以保证音乐搜索产品质量教育经历2001年9月-2005年7月 北京大学 信息科学技术学院计算机科学与技术专业,2005年7月被授予理学学士;北京大学2001届优秀军训生;2005年获北京大学ACM/ICPC程序设计大赛奖项;历任北京大学计算机协会副会长、北京大学信息科学技术学院团委实践部部长、北京大学青年志愿者协会信息科学技术学院会长等社会活动职务;策划并参与了校内多项大型活动;多次在学校运动会获奖?
网友-paoding作者 说:
搜“大型活动”是否也错误?
李岩 说:
也会

网友-paoding作者 说:
hi,在?
李岩 说:
在 
李岩 说:
也会 同样的错
网友-paoding作者 说:
你把获取的content加一个空格给加亮,看看什么错误没?
李岩 说:
只是排序位置变了
李岩 说:
是在结尾处加空格吗
网友-paoding作者 说:

网友-paoding作者 说:
只是排序位置变了?怎么理解?
网友-paoding作者 说:
是位置错误,or排序错误?
李岩 说:
搜‘北京’和‘大型活动’ 结果中同一片文章位置 变了

无法将以下消息发送给所有接收者:
搜‘北京’和‘大型活动’ 结果中同一片文章位置 变了

李岩 说:
hi
李岩 说:
加了空格就好了
网友-paoding作者 说:
你先这样处理下可以吗?
网友-paoding作者 说:
你先这样处理,度过如何?

李岩 说:
好   
李岩 说:
是会更新paoding吗
李岩 说:
你是会更新paoding吗
网友-paoding作者 说:
我迟早得更新的。已经很久没更新。
网友-paoding作者 说:
现在我最缺的是时间,所以....
李岩 说:
好 我先这样处理 期待新版 呵呵 如果我能帮上忙 我也可以抽时间帮你 好 这次先谢你了
网友-paoding作者 说:
嗯。是啊...