本文共 455 字,大约阅读时间需要 1 分钟。
我估计的没有错,dspace不能检索中文的症结就是在切词分析的那个环节,它默认的是对西方语言的切词做索引,即以空格等标点符号切词的。这对于中文来说是不行的。我的解决办法就是用添加了lucene的contrib包内的cn包即ChineseAnalysizer等类。改写了DSAnalysizer类的toTokenStream()方法即用 ChineseTokenizer类代替了DSTokenizer 并加了中文的StopWord。
现在还要解决的一个问题就是配置文件的问题,对于java的配置文件来说,中文等字符要用unicode转义,这样的话写配置文件就很不方便,总不可能老用工具在转义文件与正常文件之间切换来切换去吧。我想试着解决这个方法,用一个支持中文的Properity的子类来代替Properity.解决方法目前想到了两个:
1,子类的load方法先转化为转义编码,然后在进行Properity的方法调用。
2,完全改写load方法,用Reader代替InputStream ,这样的话可能麻烦一些。
转载地址:http://bwyai.baihongyu.com/