Xwin
Xwin

Reputation: 171

Not able to create index using Java high level Rest client

I am using java high level rest client for integrating elasticsearch in my application,But not able to create an index

somewhere I found that to execute the request we need to use index(request) method (which I have commented in my code) but it is shwing that index(request) method is deprecated from the type RestHighLevelClient.

Here is my code:

@GetMapping("/createIndex")
public boolean createIndex() throws IOException {


    IndexRequest request = new IndexRequest(
            "muviuser", 
            "user",  
            "1");   
    String jsonString = "{" +
            "\"user\":\"Bran\"," +
            "\"postDate\":\"2018-01-30\"," +
            "\"message\":\"trying out Elasticsearch\"" +
            "}";
    request.source(jsonString, XContentType.JSON);

    //client.index(request);
}

Upvotes: 3

Views: 4671

Answers (1)

rustyx
rustyx

Reputation: 85521

As the documentation explains, here's how to create an index using the high-level ES API:

    CreateIndexRequest request = new CreateIndexRequest(indexName);
    request.mapping("_doc", mappingJson, XContentType.JSON);
    CreateIndexResponse response = client.indices().create(request);

Note that your source document looks wrong, as it needs to follow the specific ES request format with mappings, settings and aliases. Better to specify just the mapping instead.

Upvotes: 3

Related Questions