Atlassian Confluence 的中文搜索问题的解决

Atlassian Confluence  我觉得是个适合用来做项目开发时的wiki工具,当然它是商业的,如果你是开源项目,可以申请一个开源的license,用起来就是爽啊.
 
不过原版的程序对中文搜索可是不行啊,它的搜索用的是lucene 1.4, 也就是说lucene的中文搜索没有被利用上(当然lucene包里缺省没有中文的,而且confluence也没有调用相关的包,对比JIra,还是有点问题,当然JIra至少可以配置,随便也没有中文的)
 
通过研究,lucene可以用CJKAnalyzer 来做中文搜索,虽然有着这样那样的缺点,毕竟可以用(暂时不讨论这个分词的问题,可以用就行了)
 
搜索confluence的相关文件,发现有个lucene.cfg.xml,里面调用了一个factory类:  bucket.search.lucene.analyzer.DefaultLuceneAnalyzerFactory
 
另外indexingSubsystemContext.xml 里面也调用了这个类
 
恩,自己写个类替换掉这个类,或者改改配置文件就可以搞定了.
 
打开eclipse,建立一个新的项目,加入lucene的jar包,加入atlassian-bucket-0.6.9.jar
 
新建一个类来替代原来的类,例如 ScudLuceneAnalyzerFactory
 
代码如下:
 
package org.apache.lucene.analysis;
import org.apache.lucene.analysis.cjk.CJKAnalyzer;
import bucket.search.lucene.analyzer.LuceneAnalyzerFactory;

public class ScudLuceneAnalyzerFactory implements LuceneAnalyzerFactory
{
 public ScudLuceneAnalyzerFactory()
 {
 }
 public Analyzer createAnalyzer()
 {
  return new CJKAnalyzer();
 }
 
}
 
编译,打成一个jar包,放到confluence的WEB-INF/lib目录下,修改上面提到的配置文件中的factory类为你的类.
 
重启tomcat,重建索引, ok,可以搜索中文了(当然英文也没问题)

 
---说得太详细了...这样不好 嘿嘿
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值