2014-04-22 129 views
5

我試圖檢索使用玩笑指數列表獲取指數列表,但我只得到儘可能:如何從ElasticSearch用玩笑

 Stats statistics = new Stats.Builder().build(); 
     result = client.execute(statistics); 

我如何可以檢索索引列表從結果?我必須使用除統計之外的其他內容嗎? 如果有人能向我展示Jest的詳細文檔,它也會有所幫助。基礎知識非常有據可查,但目前我真的迷失了不同類型的製造商。

+0

您是否正在查找索引名稱列表?還是統計指數? –

+0

只是名稱作爲字符串列表。 – Chris

回答

3

Get Aliases將爲您提供節點上所有索引的別名。

+1

一個簡短的例子本來不錯,因爲除了代碼之外,還沒有真正的文檔。但是我仍然得到它的工作,所以謝謝你的時間。 – Chris

+0

我從來沒有用過Jest,遇到過類似的問題。我想,如果我提出了這個要求,你就能比我想得更快:P。 –

+0

這很公平;-)。如果這太容易,那會很無聊。 – Chris

3

可以簡單地將瀏覽器導航到以下URL以獲取ElasticSearch羣集上可用的索引。

的http:// elasticsearch.company.com/_aliases

這將返回指標陣列及其JSON別名。這裏有一個例子:

{ 
    "compute-devzone1": { }, 
    "compute-den2": { }, 
    "compute-den1": { }, 
    ... 
} 

要與玩笑得到的索引列表,使用此代碼...

HttpClientConfig config; 
    JestClientFactory factory; 
    JestClient client; 
    GetAliases aliases; 
    JestResult result; 
    String json; 

    config = new HttpClientConfig. 
    Builder("http://elasticsearch.company.com"). 
    build(); 

    aliases = new GetAliases. 
    Builder(). 
    build(); 

    factory = new JestClientFactory(); 

    factory.setHttpClientConfig(config); 

    client = factory.getObject(); 
    result = client.execute(aliases); 
    json = result.getJsonString(); 

使用您喜歡的JSON處理器從json提取索引。