一尘不染

如何在Elasticsearch Java API中通过Alias查找索引?

elasticsearch

重新索引需要30秒,并且我不希望每次重新索引都需要30秒离线。我正在尝试这样做:

  1. 查找别名为abc123的旧索引
  2. 创建新索引并填充新数据
  3. 删除别名并删除旧索引
  4. 赋予新的索引别名= abc123

我似乎找不到任何执行1)的Java代码。其他一切都很好。任何人?还是有另一种更好的方法?

使用Elasticsearch 0.90.9。


阅读 888

收藏
2020-06-22

共1个答案

一尘不染

您可以使用它来获取所有别名:

 client.admin().cluster()
    .prepareState().execute()
    .actionGet().getState()
    .getMetaData().getAliases();

这将返回索引名称为key和的映射aliases。因此,您可以遍历地图以获取索引名称。

2020-06-22