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

时间:2016-11-29 16:34:57

标签: java elasticsearch spring-data elasticsearch-2.0

我有一个豆注释:

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

"富"是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。

如何在带弹簧数据的elasticeseach 2.3中做到这一点? 我的bean链接到别名,Spring Data会自动创建正确的索引。
我只是不知道如何通过别名创建索引。

我是否首先将foo-2016.11.04重新索引到foo-2016.11.29,更新别名以指向新的别名并重新部署spring应用程序,或者还有其他事情可以在这里完成吗?

1 个答案:

答案 0 :(得分:0)

您无法通过别名创建索引,但您可以显式创建带时间戳的索引,并使用索引模板自动将其指定给别名。

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