0

Je souhaite exécuter un appel update-by-query sur Elasticsearch. J'ai écrit le code à exécuter comme suit et il fonctionne, quelqu'unExécution d'une requête UpdateByQueryRequest dans le client Elasticsearch Java

UpdateByQueryRequestBuilder builder = buildUpdateByQueryRequestBuilder(); 
builder.get(); 

Cependant, lors de l'examen du code m'a dit, au lieu d'appeler get() sur le constructeur à utiliser UpdateByQueryRequest classe en invoquant builder.request() qui fait sorta sens . Mais le problème est, je ne sais pas comment exécuter un UpdateByQueryRequest. J'ai regardé la documentation en ligne mais il ne semble y avoir aucune documentation à ce sujet.

Est-ce que UpdateByQueryRequestBuilder#get() est le chemin à parcourir ou est-ce qu'un UpdateByQueryRequest peut effectivement être appelé?

Merci d'avance.

Répondre

2

invoquer builder.get() directement, il s'agit d'un bloc d'exécution, vous pouvez utiliser execute avec ActionListener exécuter async.

vous pouvez peut-être le faire comme:

builder.execute(new ActionListner<BulkIndexByScrollResponse> { 
    void onResponse(Response response) { 
    // do something 
    } 
    void onFailure(Exception e) { 
    // do something 
    } 
}