Search elasticsearch with java client using JSON query

You can use the following code fragment:

String content = "{\"query\":{\"match_all\":{}}}";

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
SearchModule searchModule = new SearchModule(Settings.EMPTY, false, Collections.emptyList());
try (XContentParser parser = XContentFactory.xContent(content).createParser(content)) {
    QueryParseContext context = new QueryParseContext(searchModule.getQueryParserRegistry(), parser,
            new ParseFieldMatcher(true));
    searchSourceBuilder.parseXContent(context, searchModule.getAggregatorParsers(),
            searchModule.getSuggesters(), searchModule.getSearchExtRegistry());
}

SearchRequestBuilder searchRequestBuilder = new SearchRequestBuilder(client(), SearchAction.INSTANCE);
SearchResponse searchResponse = searchRequestBuilder.setSource(searchSourceBuilder)
        .execute().actionGet();