如何通过 Spring 注释创建带有索引排序的 Elasticseearch 索引

How to create an Elasticseearch index with index sorting via Spring annotation

我正在为 Elasticsearch 使用 Spring 数据。我需要创建一个具有索引排序的索引,正如所描述的 here

有没有办法定义一个 POJO 字段作为索引时的排序字段? 我正在使用注释,这是首选方式,但任何其他选项也可以。

目前这是不可能的。索引排序必须在创建索引时定义,并且由于目前可以定义一个带有索引设置的 json 文件并将其与 @Setting 添加到实体中,因此在这种情况下会失败。原因是,当定义索引排序时,相应的字段也必须在索引创建的映射定义中定义。 Spring 数据 Elasticsearch 首先使用设置创建索引,然后写入映射 - 为时已晚。

请在the issue tracker中开一个issue,索引排序的索引创建应该是可以的,我们要考虑如何定义排序字段。

编辑 28.03.2021:

来自 Spring Data Elasticsearch 4.2.0.RC1 关于索引创建的内容将始终与编写映射一步到位,因此可以提供一个将与映射一起使用的设置文件。

现在也可以使用 @Setting 注释的参数来定义索引排序参数,因此根本不需要 json 文件。