2014-10-24 11 views
8

Demo adı ile bir dizin var ve farklı türleri içerir. Elastik arama java dahili api kullanıyorum ve her ikisini de uygulamasında dinleniyorum. Temel olarak bu isteği yapmak istiyorum.iç java api veya jest api veya elastik arama dizini tür isimleri almak nasıl

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

Özellikle jest api'de bunu yapmanın bir yolu var mı? There is dinlenme istemcisi API'sı için eşleme elde etmek için hiçbir belge yok. Önerin nedir ?

cevap

10

Bu çalışması gerekir, ama gerçekten çirkin: Bu resmi olarak desteklenen olup olmadığını

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

Bilmiyorum - Sadece oynayarak buldum.

+0

Cevabınız için teşekkür ederiz. Evet Gerçekten ilginç ve dahili java api için çalıştı. Bunu jest api ile yapmak için herhangi bir fikriniz varsa, benimle paylaşabilir misiniz? Aslında bu işe jest api kullanarak benim app için iç java API daha önemlidir. –

+0

Maalesef, yayınınızdan önce, Jest API'sını hiç duymadım. – Alcanzar

+2

Sadece github sitelerine bakarak, GetMapping get = new GetMapping.Builder ("demo") gibi bir şey gibi görünüyor. res = client.execute (get) ' – Alcanzar