繁体   English   中英

将当前Solr索引划分为分片

[英]Partitioning a current solr index into shards

我一直在分析改善SOLR索引性能的最佳方法,并且可能会将当前索引分片以允许搜索变得分散。

但是,鉴于我们的索引超过400GB并包含约700MM文档,因此对数据进行重新索引似乎很麻烦。 我一直在考虑复制索引和删除文档的想法,以更有效地创建分片环境。

不幸的是,似乎模数不可用于查询文档的内部数字ID。 我还可以使用其他哪些分区策略来通过查询而不是完全重新索引来删除?

Lucene工具可以完成IndexSplitter的工作,请参阅此处提到的文章链接(日语,请用Google翻译)。

如果您可以找到用于对数据进行分区的逻辑键,那么它将以多种方式提供帮助。 例如。 您可以根据时间顺序将这些文档拆分成多个碎片吗?

我们也有类似的情况。 我们有一个2.5亿份文档的索引,这些文档根据其创建日期分布在各个分片中。 一个主要的用例涉及根据创建日期范围搜索这些碎片。 因此,搜索仅提交给包含具有给定日期范围的文档的分片。 逻辑分区的数据可能还有其他好处-例如 不同的容量规划,将不同的服务质量应用于搜索词等。

我在另一个StackOverflow问题中回答了这个问题 我写了一个命令行实用程序( 基于哈希的索引拆分 ),用于基于每个文档的ID哈希拆分Lucene索引。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM