spring - 如果我减少 @Document 注释中的分片参数,Elasticseach 会自行减少分片数量吗?
问题描述
我@Document(shards=5)
在我的 SpringBoot 应用程序中使用 Spring Data Elasticsearch 为我的实体。我已经意识到它太耗费资源,并且已经将其减少到 @Document(shards=1)
并使用新代码重新部署了 java 应用程序。我在 ElasticSearch 方面没有采取任何行动。
Jest 客户端应该尽最大努力减少使用的分片数量,还是应该由我自己作为 Elasticsearch 管理员来完成?
解决方案
Spring Data Elasticsearch 在创建索引时使用此信息;它没有重新应用于更改分片数量等参数。因此,Spring Data Elasticsearch 无法实现您想要做的事情。
如果您有能力删除数据并有可能重新加载它,则删除索引,使用更改的@Document
注释重新启动程序并重新加载数据。
如果您不能简单地重新加载数据,您可以直接在 Elasticsearch 中执行以下操作(具体命令请参阅 Elasticsearch 文档):
- 使用您想要的分片设置创建一个新索引并将其命名为例如index-new
- 将旧索引重新索引到新索引
- 如果您可以使用新索引名称,请更改
@Document
注释以使用新索引。 - 如果没有,则删除旧索引并使用旧名称和新设置重新创建它,并将从index-new重新索引到具有新名称的索引
推荐阅读
- angular - 使用Angular动态添加和删除
- python - 使用 pytorch 对大图像进行补丁分类
- angular - 不可见的primeng日历
- html - 我无法对齐我的
右侧的 div 和 ; 我似乎也无法控制 twitter 嵌入的高度 - angular-ui-grid - angular-ui-grid 是否允许更改特定单元格上的过滤器?
- c++ - 多种类型的类模板特化
- ruby-on-rails - 为什么我的 webpack-html-loader 不加载我的 html 文件?
- regex - 在 .htacces 中使用正则表达式进行重定向
- google-chrome - 如何在我的 EC2 虚拟计算机上永久禁用 chrome 更新?
- regex - 删除字符串空间并使用 RegEx 进行比较