请教斑竹jive中文搜索的高亮显示问题,多谢!

不知道该怎么办了:(
中文搜索又遇到了错误---可以搜出结果,点击搜索结果的主题链接出错(英文的没问题),
.主要是语法加亮不行
英文搜索后点击标题没有问题,可以实现加亮显示。

把在search.jsp页面中的显示主题的部分:
<a href="thread.jsp?forum=<%= fID %>&thread=<%= tID %>&message=<%= mID %>&redirect=true&hilite=true&q=<%= java.net.URLEncoder.encode(queryText) %>">
<%= message.getSubject() %>
</a>
改为:
<a href="thread.jsp?forum=<%= fID %>&thread=<%= tID %>&message=<%= mID %>&redirect=true&hilite=true&q=<%= java.net.URLEncoder.encode(queryText,"GB2312") %>">
<%= message.getSubject() %>
</a>

还是不行,
com.jivesoftware.oro.text.MalformedCachePatternException: Invalid expression: \b(?|?|?|?|?|¨|?|?|?|?)\b
Sequence (?|...) not recognized
比如我搜索标题为“第一贴”的帖子,
查看主题连接就会出现这个错误(现象是可以显示出“第一贴”这个主题的帖子,但是它的回帖无法显示,而且文字也没有被加亮)

第2个问题,不是说JIVE采用lucene搜索引擎是支持全文搜索的吗?可是我发现如果我输入“第一”就无法找到查询结果

咦?怎么中间那段没显示出来?
在search.jsp页面中的显示主题的部分:
java.net.URLEncoder.encode(queryText,"GB2312")
没作用,请教!

这个问题 推荐你询问javaresearch.org的bruce,他们有一篇关于搜索中文化的文章,我也是参考他们,自己还没研究呢

没错,光改Lucent还没完。
你还得改skinUtils.highLight()好象是这个函数。

把里边的正则表达式改动一下就可以了。当然,你得正确编码,如果还是encoding采用8859_1,偶可不敢保证Jive中的哪个正则表达式包能否处理中文了。

关于你的第二个问题,应该是Lucent没有处理好,queryParser.jj一般也要改的。而且我觉得甚至lucene1.2 final release中的cn/tokenizer都值得商榷。好象没有用去2个汉字的over-lapped取词方式,只是一个一个汉字去取。
]:(