2014-10-24 10 views
8

Ho un indice con il nome di demo e contiene diversi tipi. Sto usando java interna di ricerca elastica e resto api jest entrambi nella mia app. Fondamentalmente Voglio fare questa richiestacome ottenere i nomi dei tipi di indice di ricerca elastico in java java interna o jest api

curl -XGET 'http:localhost:9200/demo/_mapping' 

Esiste un modo per farlo soprattutto per scherzo api? There is nessuna documentazione per ottenere il mapping per il resto del client API. Qual è il tuo suggerimento ?

risposta

10

Questo dovrebbe funzionare, ma è davvero brutto:

GetMappingsResponse res = client.admin().indices().getMappings(new GetMappingsRequest().indices("demo")).get(); 
    ImmutableOpenMap<String, MappingMetaData> mapping = res.mappings().get("demo"); 
    for (ObjectObjectCursor<String, MappingMetaData> c : mapping) { 
     System.out.println(c.key+" = "+c.value.source()); 
    } 

Non so se questo è ufficialmente supportato o meno - Ho appena trovato questo giocando intorno.

+0

Grazie per la risposta. Sì, è davvero interessante e ha funzionato per interni java api. Se hai qualche idea per farlo con jest api, puoi condividere con me? In realtà usare jest api per questo lavoro è più importante di java api interna per la mia app. –

+0

Sfortunatamente prima del tuo post, non avevo mai sentito parlare dell'API Jest. – Alcanzar

+2

Basandosi sul proprio sito github, sembra che si tratti di qualcosa come "GetMapping get = new GetMapping.Builder (" demo "). Build(); res = client.execute (get) ' – Alcanzar

Problemi correlati