发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 云架构 框架 开发教程 SOA 大数据 扩展性 并发编程 EDA 分布式 函数编程

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

2002-09-17 14:11
赞助商链接

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

把在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搜索引擎是支持全文搜索的吗?可是我发现如果我输入“第一”就无法找到查询结果

2002-09-17 14:14

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

2002-09-17 17:12

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

2002-09-18 10:44

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

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

2002-09-18 10:47

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

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com