Home > Net >  Set timeout in Elastic Java API Client
Set timeout in Elastic Java API Client

Time:09-23

I am trying to move from Elastic High level rest client to Elastic Java API Client (Low Level Rest Client). I am able to get the response, but i want to set the timeout for my elastic query.

But this timeout method is accepting a string value, which i am not able to pass the value here.

String searchText = "bike";

SearchResponse<Product> response = esClient.search(s -> s
    .index("products") 
 .timeout()
    .query(q -> q      
        .match(t -> t   
            .field("name")  
            .query(searchText)
        )
    ),
    Product.class      
);

This is the documentation for the method https://artifacts.elastic.co/javadoc/co/elastic/clients/elasticsearch-java/8.0.1/co/elastic/clients/elasticsearch/core/SearchRequest.Builder.html#timeout(java.lang.String)

Can someone help, how can I pass timeout value as String ??

CodePudding user response:

I was able to solve this by passing a simple time value,

String searchText = "bike";

SearchResponse<Product> response = esClient.search(s -> s
    .index("products") 
 .timeout("450ms")
    .query(q -> q      
        .match(t -> t   
            .field("name")  
            .query(searchText)
        )
    ),
    Product.class      
);

  • Related