ElasticSearch学习17_Failed to deserialize response of type [*.SearchResponse]错误原因

来源:互联网 发布:linq to sql group by 编辑:程序博客网 时间:2024/05/17 00:15

在使用Elasticsearch的API编写程序时,遇到下面这个错误:

<span style="font-size:14px;">警告: [Judas Traveller] Message not fully read (response) for [1] handler org.elasticsearch.action.TransportActionNodeProxy$1@26de39c7, error [false], resettingException in thread "main" org.elasticsearch.transport.TransportSerializationException: Failed to deserialize response of type [org.elasticsearch.action.search.SearchResponse]at org.elasticsearch.transport.netty.MessageChannelHandler.handleResponse(MessageChannelHandler.java:157)at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:132)at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)at org.elasticsearch.common.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:296)at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)at org.elasticsearch.common.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:310)at org.elasticsearch.common.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)at org.elasticsearch.common.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:268)at org.elasticsearch.common.netty.channel.Channels.fireMessageReceived(Channels.java:255)at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)at org.elasticsearch.common.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)at org.elasticsearch.common.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)at org.elasticsearch.common.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)at org.elasticsearch.common.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.lang.Thread.run(Unknown Source)Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/analysis/standard/StandardAnalyzerat org.elasticsearch.search.internal.InternalSearchHit.readFrom(InternalSearchHit.java:569)at org.elasticsearch.search.internal.InternalSearchHit.readSearchHit(InternalSearchHit.java:547)at org.elasticsearch.search.internal.InternalSearchHits.readFrom(InternalSearchHits.java:223)at org.elasticsearch.search.internal.InternalSearchHits.readFrom(InternalSearchHits.java:203)at org.elasticsearch.search.internal.InternalSearchHits.readSearchHits(InternalSearchHits.java:197)at org.elasticsearch.search.internal.InternalSearchResponse.readFrom(InternalSearchResponse.java:119)at org.elasticsearch.search.internal.InternalSearchResponse.readInternalSearchResponse(InternalSearchResponse.java:113)at org.elasticsearch.action.search.SearchResponse.readFrom(SearchResponse.java:192)at org.elasticsearch.transport.netty.MessageChannelHandler.handleResponse(MessageChannelHandler.java:155)... 23 moreCaused by: java.lang.ClassNotFoundException: org.apache.lucene.analysis.standard.StandardAnalyzerat java.net.URLClassLoader.findClass(Unknown Source)at java.lang.ClassLoader.loadClass(Unknown Source)at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)at java.lang.ClassLoader.loadClass(Unknown Source)... 32 more</span>

寻找错误原因的过程中,发现错误时因为Jar包添加不完全,如果只添加“elasticsearch-1.7.1.jar”一个jar包,虽然import处不会报错,但是在编译和执行时,还是会遇到问题,需要把elasticsearch安装程包下lib目录里的jar包全部添加,操作完成后,错误消失。



0 0
原创粉丝点击