本段时间在进行用Hadoop进行文本挖掘,在进行挖掘的时候用到的文本分词工具为大家所熟知的庖丁分词工具,下面是在实践项目中,出现的错误及相应的查找资料解决方案
遇到的错误一:
Exception in thread "main" net.paoding.analysis.exception.PaodingAnalysisException: dic home should not be a file, but a directory! at net.paoding.analysis.knife.PaodingMaker.setDicHomeProperties(PaodingMaker.java:338) at net.paoding.analysis.knife.PaodingMaker.getDicHome(PaodingMaker.java:261) at net.paoding.analysis.knife.PaodingMaker.loadProperties(PaodingMaker.java:189) at net.paoding.analysis.knife.PaodingMaker.loadProperties(PaodingMaker.java:228) at net.paoding.analysis.knife.PaodingMaker.loadProperties(PaodingMaker.java:228) at net.paoding.analysis.knife.PaodingMaker.getProperties(PaodingMaker.java:130) at net.paoding.analysis.analyzer.PaodingAnalyzer.init(PaodingAnalyzer.java:70) at net.paoding.analysis.analyzer.PaodingAnalyzer.<init>(PaodingAnalyzer.java:59) at net.paoding.analysis.analyzer.PaodingAnalyzer.<init>(PaodingAnalyzer.java:52) at examples.TokenizeWithPaoding.main(TokenizeWithPaoding.java:12) |
net.paoding.analysis.exception.PaodingAnalysisException: dic home should not be a file, but a directory!
很直接原因是——文件夹路径中,命名文件夹的名字有空格
检查发现:G:\Users\Administrator\Workspaces\MyEclipse 8.6\Tokenizer
的确如此:如上面的MyEclipse与8.6之间有个空格
解决方案:现在G:\Users\Administrator\Workspaces\MyEclipse 8.6\Tokenizer文件夹中拷贝Tokenize工程,到桌面,之后在Myeclipse8.6集成开发工具中删除Tokenize工程,之后将桌面上的Tokenize工程导入到Myeclipse 8.6集成开发工具中,调试就可以成功。
可供参考的网址为:http://bbs.csdn.net/topics/390433862
遇到的错误二:
|
在while循环中的ts.incrementToken()中找不到incrementToken()方法,提示org.apache.lucene.analysis.TokenStream;没有该方法
问题出现的原因:lucene-core-X.X.X.jar版本的问题,要用到
lucene-core-3.X.X.jar以上的版本
下载地址:lucene-core-3.6.0.jar
http://download.csdn.net/detail/zhongwen7710/6923753
下载地址:lucene-core-3.0.0.jar
http://download.csdn.net/detail/zhongwen7710/6923767
解决方案:
下载上面的压缩包覆盖版本较低的lucene-core-X.X.X.jar版本即可
问题三:出现java.lang.AbstractMethodError:org.apache.lucene.analysis.TokenStream.incrementToken()Z如下错误,摘录效果如下:
Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z at examples.TokenizeWithPaoding.main(TokenizeWithPaoding.java:16) |
问题分析:可能是由于paoding-analysis.jar的版本与lucene版本不兼容,由于上述实验用的lucene的版本为lucene-core-3.6.0.jar版本,而paoding-analysis.jar是通过lucene-2.X.X版本以下的编译成功的。
解决方案:下载paoding-analysis3.0.jar编译包,该包是通过lucene-3.X.X版本编译paoding源代码得到,之后替代旧的版本的paoding-analysis.jar包,之后就可以进行上述代码就可以编译成功了。
下载网站:paoding-analysis3.0.jar
http://download.csdn.net/detail/zhongwen7710/6923751
可供参考的网站:http://blog.csdn.net/ccode/article/details/5901762