2014-04-22 48 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提取索引。