3 votes

Comment obtenir uniquement les documents ayant échoué dans la réponse d'Elasticsearch Java High-Level Client 6.8

Existe-t-il un moyen d'obtenir uniquement les documents ayant échoué dans la réponse lors d'une demande groupée à l'aide du client REST Java de haut niveau d'Elasticsearch ?

Actuellement, ES envoie tous les documents réussis et ratés dans la réponse et nous retraitons tous les documents ratés, nous itérons. BulkItemResponse pour retrouver le document défaillant et le retraiter.

private BulkRequest createBulkRequestsForRetry(BulkResponse bulkItemResponses, BulkRequest currentBulkRequest) {
        BulkRequest bulkRequest = new BulkRequest();
        int index = 0;
        for (BulkItemResponse bulkItemResponse : bulkItemResponses.getItems()) {
            if (bulkItemResponse.isFailed()) {
                bulkRequest.add(currentBulkRequest.requests().get(index));
            }
            index++;
        }
        return bulkRequest;
    }

Comme bulkItemResponse.getItems() représentant chaque action effectuée dans l'opération de masse (dans le même ordre !).

2voto

Amit Khandelwal Points 4531

À l'heure actuelle, même dans la dernière version 7.7 du client, cette fonction n'est pas présente. Si vous souhaitez obtenir cette fonction, vous pouvez créer un problème ou, mieux encore, soumettre un rapport de synthèse traitant de ce problème.

Vous pouvez jeter un coup d'œil à la complète BulkResponse et voyez vous-même qu'une telle fonctionnalité n'est pas présente dans la branche master également.

Aussi aquí vous pouvez créer un problème avec Elasticsearch.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X