2014-10-24 10 views
8

Mam indeks z nazwą demo i zawiera on różne typy. Używam elastycznego wyszukiwania java wewnętrzna api i odpoczynku api jest ich obu w mojej aplikacji. Zasadniczo chcę złożyć tę prośbę:jak uzyskać nazwy typu elastycznego indeksu wyszukiwania w wewnętrznej aplecie java lub jest api

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

Czy jest jakiś sposób, aby to zrobić, szczególnie w żartach? There is brak dokumentacji, aby uzyskać mapowanie dla api klienta odpoczynku. Co sugerujesz ?

Odpowiedz

10

To powinno działać, ale to jest naprawdę brzydki:

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()); 
    } 

Nie wiem, czy to jest oficjalnie obsługiwane, czy nie - Właśnie się to poprzez zabawy.

+0

Dziękuję za odpowiedź. Tak To jest naprawdę interesujące i działa na wewnętrzne apki Java. Jeśli masz jakiś pomysł na robienie tego z pomocą api, możesz podzielić się ze mną? Właściwie używanie api api w tej pracy jest ważniejsze niż wewnętrzna aplikacja java dla mojej aplikacji. –

+0

Niestety przed twoim postem, nigdy nie słyszałem o Jest API. – Alcanzar

+2

Po prostu patrząc na ich stronę github, wygląda na to, że będzie to coś w stylu 'GetMapping get = new GetMapping.Builder (" demo "). Build(); res = client.execute (get) ' – Alcanzar

Powiązane problemy