Elasticsearch 和 Spring 数据:如何使用别名重新索引

Elasticsearch and Spring Data: how to reindex with alias

我有一个这样注释的 bean:

@Document(indexName = "foo", type = "bar")
public class BarEntity {
    private String someField = "";
}

"foo" 是 elasticsearch 中 foo-2016-11-04:

的别名
"foo-2016.11.04" : {
  "aliases" : {
    "foo" : { }
  }
}

我想做的是将 someField 的索引更改为 not_analyzed:

@Document(indexName = "foo", type = "bar")
public class BarEntity {
    @Field(index = FieldIndex.not_analyzed, type = FieldType.String)
    private String someField = "";
}

据我所知,我必须创建一个新索引并将别名指向它,例如foo-2016.11.29.

如何使用 Spring 数据在 elasticeseach 2.3 中执行此操作? 我的 bean 链接到别名,我猜 Spring Data 会自动创建正确的索引。
我只是不知道如何通过别名创建索引。

我是先将 foo-2016.11.04 重新索引到 foo-2016.11.29,更新别名以指向新别名并重新部署 spring 应用程序,还是这里还有其他事情要做?

您不能通过别名创建索引,但您可以显式创建时间戳索引并使用索引模板自动将其分配给别名。

https://www.elastic.co/guide/en/elasticsearch/reference/2.3/indices-templates.html