Cómo reindexar en ElasticSearch a través de la API de Java

Como dice el título ...

Leí este artículo ( https://www.elastic.co/blog/changing-mapping-with-zero-downtime ), y el concepto fue excelente, pero me costó encontrar una referencia decente sobre cómo hacerlo a través de la API de JAVA.

Encontré este complemento: https://github.com/karussell/elasticsearch-reindex , pero parece una exageración de lo que estoy tratando de hacer.

Respuesta 1

Desde ES 2.0 puede usar la API reindex. Como no hay documentación sobre cómo hacerlo con la API de Java, estos son los pasos:

  1. Agregue la dependencia Maven de acuerdo con su versión ES
  2. Agregue el complemento a su cliente:

    client = TransportClient.builder().settings(elaSettings).addPlugin(ReindexPlugin.class).build();
    
  3. Llame a la api reindex

    ReindexRequestBuilder builder = ReindexAction.INSTANCE.newRequestBuilder(client).source(oldIndex).destination(newIndex);  
    builder.destination().setOpType(opType);
    builder.abortOnVersionConflict(false); builder.get();
    
Respuesta: 2

Tengo un servidor Jetty que maneja solicitudes HTTP de larga ejecución: las respuestas son generadas por un proceso X diferente y terminan en un hash de recopilador que Jetty solicita verificar periódicamente. Hay 3 ...

Tengo un proyecto A (por ejemplo, un proyecto de aplicación Java basado en Ant) y un segundo proyecto B (un proyecto de biblioteca de clases Java u otro proyecto de aplicación Java, ambos basados ​​en compilación Ant.) El proyecto B tiene ...

Estoy enfrentando un problema con las listas de matrices estáticas. Tengo una clase de jugador que toma una cuerda. Reproductor público (String s) {myPlayerName = s; myPlayerScore = 0; } Tengo una lista estática de ...

En una parte de mi programa, uso un JOptionPane para preguntarle al usuario si está seguro de lo que hará. Pero no quiero aburrir al usuario pidiéndole que cada vez que lo intente, me gusta usar la función de ...