|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。详解|中文
Jive的搜刮借用了apche供应的lucene搜刮引擎。lucene是一个纯Java的高功能的全文搜刮引擎,你能够到apache的网站找到lucene的更多信息:http://jakarta.apache.org/lucene/docs/index.html
但在Jive利用的lucene包中,其实不撑持中文搜刮,本站的体系也是构建在Jive之长进行扩大,中文搜刮成绩由JR办理体系次要开辟职员之一cherami办理。良多存眷Jive的伴侣都来信向我们讨取Jive中文搜刮成绩的办理办法,我在这儿把我们的办理办法收拾出来,但愿可以给您供应匡助。1.下载lucene中文搜刮撑持包将lucene_cn.jar放到您的lib目次下。
2:修正您的DbSearchManager.java在com.jivesoftware.forum.database.DbSearchManager.java中,起首导进lucene中文包:
importorg.apache.lucene.analysis.cn.*;
在DbSearchManager.java中找到以下代码:
/***Theanalyzergovernshowwordsaretokenized.Thestandardanaylyzer*doesadecentjobinmostcases,butcouldbereplacedundercertain*circumstances.WemaketheanalyzerprotectedsothattheDbQueryclass*canalsoreferenceit(indexingandsearchingshouldusethesame*analyzer).*/protectedstaticAnalyzeranalyzer=newStandardAnalyzer();
交换为:
protectedstaticAnalyzeranalyzer=newChineseAnalyzer();
3.重启Jive,如今你的Jive即撑持中文搜刮了。
4.别的成绩
要利用中文搜刮,您的搜刮的jsp的页面也必要利用GB2312的编码体例:<%@pagecontentType="text/html;charset=GB2312"%>在我们的完成中,还碰到一个成绩。就是在搜刮时,假如间接在search.jsp页面中利用能够一般,但假如是从别的一个页面的搜刮框中跳转到search.jsp页面,则搜刮输出框中的一切的中笔墨符都酿成“?”了。这个成绩是战争台有关的,引发缘故原由很庞大。我的办理办法是在search.jsp中失掉查询串时,能够参考利用:
java.net.URLEncoder.encode(queryText,"GB2312");
5:最初总结: 关于中文搜刮还必要修正两个jsp页面:search.jsp和post.jsp将个中的:java.net.URLEncoder.encode(queryText)、URLEncoder.encode(url.toString())、java.net.URLEncoder.encode(postLink.toString())、URLEncoder.encode(name)、URLEncoder.encode(email)都在其encode()内里到场,"GBK"便可使你的jivc论坛完整撑持中文明的搜刮了。
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。 |
|