【问题标题】:Reindexing embedded elasticsearch重新索引嵌入式弹性搜索
【发布时间】:2021-08-01 04:15:14
【问题描述】:

我正在使用一个带有嵌入式 elasticsearch 容器的 jhipster 项目,我正在编写一个服务来重新索引所有 elasticsearchRepos,我是 spring mvc 的新手..

目前我的做法是:

entityList = Jparepository.findAll()
elasticsearchRepository.deleteAll()
elasticsearchRepository.saveAll(entityList) 

我的问题是我需要使用 deleteAll 吗?

还是 saveAll 会自动覆盖之前的重叠数据?

有没有更好的方法来重新索引 elasticsearchRepos?

【问题讨论】:

    标签: java elasticsearch jhipster spring-data-elasticsearch


    【解决方案1】:

    根据我们的数据大小,通过findAll 将所有数据加载到内存中可能不是一个好主意。我会使用分页并保存/更新每一页。有一个小模块正在小批量进行。不确定它是否已经针对 jhipster 7 进行了更新,但您可以查看代码

    https://github.com/geraldhumphries/generator-jhipster-elasticsearch-reindexer/blob/master/generators/app/templates/src/main/java/package/service/_ElasticsearchIndexService.java#L172

    【讨论】:

    • 多谢建议,这个需要deleteAll操作吗?
    • 由于实体是使用稳定的 ID 索引的,因此您之前不需要从弹性搜索索引中删除所有内容。您可以删除之前的索引,但不是必须的:github.com/geraldhumphries/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 2016-10-24
    相关资源
    最近更新 更多