在elasticsearch 的Java客户端使用IK分词器的问题解决

前提描述,关于如何在elasticsearch中使用IK分词器网上已经有很多资料了,这里不再叙述。下边主要说我遇到的问题和解决办法,以及将来大家可能也会遇到的问题。

第一个问题:org.apache.http.client.ClientProtocolException类找不到异常,而且索引创建失败。

开始我也很奇怪,一个分词器怎么会遇到httpclient的异常呢?在使用eclipse对elasticsearch-analysis-ik-1.2.8进行maven打包时,我查看了源码,,原则作者为了可以从远程库中动态加入新的分词,就使用了httpclient来加载。然后查看了源码的pom.xml文件,发现这个分词器依赖:httpclient-4.3.5、httpcore-4.3.2、log4j-1.2.16、commons-logging-1.1.3、commons-codec-1.6几个jar包。于是,就将这几个jar包放在ES_HOMT/lib下,当前的问题解决了,而且可以用了。

可是这个时候,系统服务端又报了一个错误:Caused by: org.apache.http.ProtocolException: Target host is not specified,于是查看了源码,原来IK分词器会从IKAnalyzer.cfg.xml配置文件的“remote_ext_dict”配置项来读取用户自己扩展的分词。由于默认情况下这个没有设置,所以在org.wltea.analyzer.dic.Monitor类中报了这个错误,但是分析了源码后赶紧这个的确不会影响到程序使用,可以不管。

注意,我这里使用IK版本是1.2.8.

版权声明:本文为博主原创文章,未经博主允许不得转载。

不给自己一点轻松的机会,好象世界的每个角落都需要自己的脚去留个痕迹,才叫人生。

在elasticsearch 的Java客户端使用IK分词器的问题解决

相关文章:

你感兴趣的文章:

标签云: