Last active
August 29, 2015 14:06
-
-
Save felipehummel/fbd005e6964ba546582d to your computer and use it in GitHub Desktop.
ElasticSearch Scala/Java client SignificantTerms problem
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo sbt "run-main com.busk.searching.TestJava" | |
[info] Loading project definition from /home/ubuntu/dev/hummel/searchserver/project | |
[info] Set current project to SearchServer (in build file:/home/ubuntu/dev/hummel/searchserver/) | |
[info] Running com.busk.searching.TestJava | |
[error] (run-main) org.elasticsearch.transport.TransportSerializationException: Failed to deserialize response of type [org.elasticsearch.action.search.SearchResponse] | |
org.elasticsearch.transport.TransportSerializationException: Failed to deserialize response of type [org.elasticsearch.action.search.SearchResponse] | |
at org.elasticsearch.transport.netty.MessageChannelHandler.handleResponse(MessageChannelHandler.java:152) | |
at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:127) | |
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:303) | |
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:318) | |
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(ThreadPoolExecutor.java:1145) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) | |
at java.lang.Thread.run(Thread.java:745) | |
Caused by: java.lang.NullPointerException | |
at org.elasticsearch.search.aggregations.bucket.significant.heuristics.SignificanceHeuristicStreams.read(SignificanceHeuristicStreams.java:38) | |
at org.elasticsearch.search.aggregations.bucket.significant.SignificantLongTerms.readFrom(SignificantLongTerms.java:126) | |
at org.elasticsearch.search.aggregations.bucket.significant.SignificantLongTerms$1.readResult(SignificantLongTerms.java:50) | |
at org.elasticsearch.search.aggregations.bucket.significant.SignificantLongTerms$1.readResult(SignificantLongTerms.java:46) | |
at org.elasticsearch.search.aggregations.InternalAggregations.readFrom(InternalAggregations.java:190) | |
at org.elasticsearch.search.aggregations.InternalAggregations.readAggregations(InternalAggregations.java:172) | |
at org.elasticsearch.search.internal.InternalSearchResponse.readFrom(InternalSearchResponse.java:116) | |
at org.elasticsearch.search.internal.InternalSearchResponse.readInternalSearchResponse(InternalSearchResponse.java:105) | |
at org.elasticsearch.action.search.SearchResponse.readFrom(SearchResponse.java:227) | |
at org.elasticsearch.transport.netty.MessageChannelHandler.handleResponse(MessageChannelHandler.java:150) | |
at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:127) | |
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:303) | |
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:318) | |
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(ThreadPoolExecutor.java:1145) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) | |
at java.lang.Thread.run(Thread.java:745) | |
[trace] Stack trace suppressed: run last compile:runMain for the full output. | |
[WARN] 2014-09-22 20:50:45.041 o.e.t.netty - [Cadaver] Message not fully read (response) for [15] handler org.elasticsearch.action.TransportActionNodeProxy$1@66539852, error [false], resetting | |
java.lang.RuntimeException: Nonzero exit code: 1 | |
at scala.sys.package$.error(package.scala:27) | |
[trace] Stack trace suppressed: run last compile:runMain for the full output. | |
[error] (compile:runMain) Nonzero exit code: 1 | |
[error] Total time: 4 s, completed Sep 22, 2014 8:50:45 PM |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.busk.searching; | |
import org.elasticsearch.action.search.SearchRequestBuilder; | |
import org.elasticsearch.client.transport.TransportClient; | |
import org.elasticsearch.common.settings.ImmutableSettings; | |
import org.elasticsearch.common.transport.InetSocketTransportAddress; | |
import org.elasticsearch.search.aggregations.bucket.significant.SignificantTermsBuilder; | |
import static org.elasticsearch.index.query.QueryBuilders.*; | |
import static org.elasticsearch.search.aggregations.AggregationBuilders.*; | |
public class TestJava { | |
public static void main(String[] args) { | |
String clusterName = "test"; | |
String[] hosts = "host1;host2".split(";"); | |
String[] indices = new String[]{"2014_09", "2014_08"}; | |
String sigTermsField = "nice_field"; | |
TransportClient esClient = new TransportClient(ImmutableSettings.settingsBuilder().put("cluster.name", clusterName).build()); | |
for ( String nodeAddress: hosts ) { | |
esClient.addTransportAddress(new InetSocketTransportAddress(nodeAddress, 9300)); | |
} | |
SearchRequestBuilder esRequest = esClient.prepareSearch(indices); | |
esRequest.setQuery(queryString("obama").defaultField("title")); | |
SignificantTermsBuilder sigTerms = significantTerms("test_agg").field(sigTermsField).size(2); | |
esRequest.addAggregation(sigTerms); | |
esRequest.execute().actionGet(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.busk.searchserver.searching | |
import org.elasticsearch.client.transport.TransportClient | |
import org.elasticsearch.common.settings.ImmutableSettings | |
import org.elasticsearch.common.transport.InetSocketTransportAddress | |
import org.elasticsearch.index.query.QueryBuilders._ | |
import org.elasticsearch.search.aggregations.AggregationBuilders._ | |
/** | |
* Created by felipehummel on 22/09/14. | |
*/ | |
object TestScala { | |
def main(args: Array[String]) { | |
val clusterName = "test" | |
val hosts = "host1;host2".split(";") | |
val indices = Seq("2014_09", "2014_8") | |
val sigTermsField = "nice_field" | |
val esClient = new TransportClient(ImmutableSettings.settingsBuilder().put("cluster.name", clusterName).build()) | |
for ( nodeAddress <- hosts ) { | |
esClient.addTransportAddress(new InetSocketTransportAddress(nodeAddress, 9300)) | |
} | |
val esRequest = esClient.prepareSearch(indices:_*) | |
esRequest.setQuery(queryString("obama").defaultField("title")) | |
val sigTerms = significantTerms("test_agg").field(sigTermsField).size(2) | |
esRequest.addAggregation(sigTerms) | |
esRequest.execute().actionGet() | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment