本文主要是介绍dspace可以检索中文了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我估计的没有错,dspace不能检索中文的症结就是在切词分析的那个环节,它默认的是对西方语言的切词做索引,即以空格等标点符号切词的。这对于中文来说是不行的。我的解决办法就是用添加了lucene的contrib包内的cn包即ChineseAnalysizer等类。改写了DSAnalysizer类的toTokenStream()方法即用 ChineseTokenizer类代替了DSTokenizer 并加了中文的StopWord。
现在还要解决的一个问题就是配置文件的问题,对于java的配置文件来说,中文等字符要用unicode转义,这样的话写配置文件就很不方便,总不可能老用工具在转义文件与正常文件之间切换来切换去吧。我想试着解决这个方法,用一个支持中文的Properity的子类来代替Properity.解决方法目前想到了两个:
1,子类的load方法先转化为转义编码,然后在进行Properity的方法调用。
2,完全改写load方法,用Reader代替InputStream ,这样的话可能麻烦一些。
这篇关于dspace可以检索中文了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!