弹性休息高级API RolloverRequest

时间:2018-11-14 19:48:20

标签: elasticsearch elastic-rest-client

我正在尝试使用RolloverRequest自动翻转基于时间的索引。

我的索引格式为log-000001,log-000002等,别名为log

如果我使用的是REST API,那么由于过渡会自动发生,因此我不必提供新的索引名。但是我看不到使用高级rest api来获得相同效果的方法

RolloverRequest request = new RolloverRequest(aliasName, newIndexname);

尽管documentationnewIndexName是可选的,但没有构造函数只使用一个参数,也没有默认构造函数。

我的问题是,有没有办法将别名仅传递给RolloverRequest进行自动过渡?如果不是,是否有计划中的事情或文件会误导人?

2 个答案:

答案 0 :(得分:0)

根据下面的链接

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.7/java-rest-high-rollover-index.html

  

别名(第一个参数),它指向要进行过渡的索引,以及执行过渡操作时新索引的名称。新的index参数是可选的,可以设置为null

因此,您可以按以下方式使用RolloverRequest

RolloverRequest request = new RolloverRequest("alias", null);

答案 1 :(得分:0)

我解决了。缺少的是索引模板。过渡不会复制索引中的现有映射-因此它将丢失。如果您创建一个与别名匹配的索引模板,那么新索引也将具有与旧滚动索引相同的映射