Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

elasticsearch - No query registered for [query]]

Tags:

I am trying to send request to ES from my tests. I applied mapping and inserted documents to ES index named 'gccount_test' from the same test. I have a very simple query maintained in a file named member that I want to test.

{     "query" : {            "match_all" : {}       } } 

My test method is

public void testMemberQuery(){         final Charset CHARSET = StandardCharsets.UTF_8          //load query         byte[] bytes = Files.readAllBytes(Paths.get(MEMBER_QUERY_PATH))         String query = CHARSET.decode(ByteBuffer.wrap(bytes)).toString()          println "QUERY => ${query}"          SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder()         searchSourceBuilder.query(query)          SearchRequestBuilder searchRequestBuilder = client.prepareSearch(INDEX_NAME)         //ClusterAdminClient adminClient = client.admin().cluster()         //searchRequestBuilder.setTypes(Constants.ESTYPE_MEMBER)         //println "CLUSTER => ${adminClient}"          searchRequestBuilder.setSearchType(SearchType.QUERY_THEN_FETCH);         searchRequestBuilder.internalBuilder(searchSourceBuilder)          SearchResponse searchResponse = searchRequestBuilder.execute().actionGet()         println "Search Response => ${searchResponse.toString()}"          //blah blah      } 

Unfortunately, I get following error.

Failed to execute phase [query_fetch], total failure; shardFailures {[1][gccount][0]: SearchParseException[[gccount_test][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"query_binary":"ewogICAgInF1ZXJ5IiA6IHsgCiAgICAgICAgICAibWF0Y2hfYWxsIiA6IHt9IAogICAgIH0KfQ=="}]]]; nested: QueryParsingException[[gccount_test] No query registered for [query]]; } org.elasticsearch.action.search.SearchPhaseExecutionException: Failed to execute phase [query_fetch], total failure; shardFailures {[1][gccount_test][0]: SearchParseException[[gccount_test][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"query_binary":"ewogICAgInF1ZXJ5IiA6IHsgCiAgICAgICAgICAibWF0Y2hfYWxsIiA6IHt9IAogICAgIH0KfQ=="}]]]; nested: QueryParsingException[[gccount_test] No query registered for [query]]; }     at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.onFirstPhaseResult(TransportSearchTypeAction.java:261)     at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$3.onFailure(TransportSearchTypeAction.java:214)     at org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteFetch(SearchServiceTransportAction.java:246)     at org.elasticsearch.action.search.type.TransportSearchQueryAndFetchAction$AsyncAction.sendExecuteFirstPhase(TransportSearchQueryAndFetchAction.java:75)     at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:206)     at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:193)     at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction$2.run(TransportSearchTypeAction.java:179)     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)     at java.lang.Thread.run(Thread.java:722) 

I am using elasticsearch 0.90.2 dependecy

[group: 'org.elasticsearch', name: 'elasticsearch', version: '0.90.2'] 

Same thing runs fine in real environment(snapshot below)

enter image description here

Is the problem with while loading query from file that caused it's malformation or what?

like image 355
prayagupa Avatar asked Nov 23 '13 21:11

prayagupa


1 Answers

The exception basically means "There is no known query type called query". I'm guessing that your client library is automatically inserting the top-level query property, so your generated query actually looks like this:

{     "query" : {         "query" : {            "match_all" : {}          }     } } 

If your client can dump the JSON representation of the query, that can help a lot in debugging.

Try removing the query portion from your text file so that it is just the match_all query, see if that works for you.

like image 169
Zach Avatar answered Oct 27 '22 18:10

Zach