【问题标题】:Is It possible to dynamically remove indexing on a field on Elasticsearch using spring data?是否可以使用弹簧数据动态删除 Elasticsearch 上字段的索引?
【发布时间】:2022-01-18 13:03:44
【问题描述】:

在构建索引时,我需要对 Elasticsearch 索引的所有字段进行索引,但一段时间后,如果需要,将 index 值更改为 false 并通过从某些字段中删除索引来提高性能。

当我搜索时,阅读 docs 并使用 spring 数据对其进行测试,当我在 @Field 中建立索引后设置 index = false 时没有任何变化,并且该字段仍然可以搜索。

@Document(indexName = "book")
@Setting(refreshInterval = "30s", shards = 3)
class Book(
    @Id
    @Field(type = FieldType.Keyword)
    var id: String? = null,
    
    @Field(type = FieldType.Keyword )
    var title: String? = null,
    
    @Field(type = FieldType.Keyword,index = false)
    val isbn: String)

我想知道是否有另一种解决方案可以在使用spring数据构建索引后动态更改字段的索引?

【问题讨论】:

    标签: elasticsearch indexing spring-data-elasticsearch


    【解决方案1】:

    您需要使用新索引名称运行修改后的程序,以使用调整后的映射创建新索引,然后手动从旧索引重新索引到新索引:Elasticsearch documentation about reindexing

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-07
      • 2014-08-16
      • 1970-01-01
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 2018-01-20
      相关资源
      最近更新 更多