Installation

Add dependency to your pom.xml ;

<dependency>
    <groupid>org.elasticsearch.client</groupid>
    <artifactid>elasticsearch-rest-high-level-client</artifactid>
    <version>6.2.4</version>
</dependency>

Update application dependencies with maven;

$mvn clean install

Create Client

RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("site:api-key@xyz.searchly.com", 443, "https")));

Index Creation

CreateIndexRequest request = new CreateIndexRequest("articles");
CreateIndexResponse createIndexResponse = client.indices().create(request);

Search

Index an article;

IndexRequest request = new IndexRequest(
        "articles",
        "doc",
        "1");
String jsonString = "{" +
        "\"author\":\"john ronald reuel tolkien\"," +
        "\"content\":\"the lord of the rings is an epic high fantasy novel\"," +
        "}";
request.source(jsonString, XContentType.JSON);
IndexResponse indexResponse = client.index(request);

You can search indexed article as:

SearchRequest searchRequest = new SearchRequest();
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(new MatchQueryBuilder("content", "lord"));
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = client.search(searchRequest);

Useful Resources

Java Rest client has very detailed documentation at at Github.

A sample Java application can be found on GitHub https://github.com/searchly/searchly-java-sample.

Installation

Documentation targets Java client Jest for Elasticsearch.

Add Jest dependency to your pom.xml ;

                    <dependency>
                        <groupid>io.searchbox</groupid>
                        <artifactid>jest</artifactid>
                        <version>0.1.6</version>
                    </dependency>
                

Update application dependencies with maven;

                    $mvn clean install
                

Create Client

// construct a new jest client according to configuration via factory
 Jestclientfactory factory = new Jestclientfactory();
 factory.sethttpclientconfig(new HttpClientConfig
                        .builder("https://site:api-key@xyz.searchly.com:443")
                        .multithreaded(true)
                        .build());
 jestclient client = factory.getobject();
                

Index Creation

client.execute(new CreateIndex.Builder("articles").build());

Search

Index an article;

Article source = new Article();
source.setauthor("john ronald reuel tolkien");
source.setcontent("the lord of the rings is an epic high fantasy novel");

Index index = new Index.Builder(source).index("articles").type("article").build();
client.execute(index);
                

You can search indexed article as:

String query = "{ \"query\": { \"match\" : { \"content\" : \"lord\" } } }";
Search search = (search) new search.builder(query)
                .addindex("articles")
                .addtype("article")
                .build();
Jestresult result = client.execute(search);
                

Useful Resources

Jest client has very detailed documentation at at Github.