首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可预测地拆分数据结构的算法,无论其构建顺序如何

可预测地拆分数据结构的算法,无论其构建顺序如何
EN

Stack Overflow用户
提问于 2017-10-21 01:39:28
回答 1查看 29关注 0票数 0

要求:

我正在给一个建立Solr索引的程序添加一个功能,这个系统是多线程的,所以每次都会以随机的顺序创建搜索条目。Solr索引还需要分成多个文件,因为如果用户尝试上传一个大文件,服务器可能会耗尽内存。

问题是:

为了保持系统的可靠性并使事情变得更容易,生成的Solr索引文件需要是相同的,无论它们是以什么顺序处理的。索引需要在文件之间平衡(或足够接近平衡),并且具有最大数量的条目。如果文件超出了最大条目数,则需要拆分。这些文件也将在运行时更新,因此条目将被添加、删除和更改。

所需条件:

我正在寻找一种能够满足这些要求的算法。我想我需要某种类型的B-tree,但我不知道有什么B-tree的变体可以满足这组特定的需求。

有没有算法或数据结构可以帮助满足这些需求?

EN

回答 1

Stack Overflow用户

发布于 2017-10-21 01:51:52

根据内容使用UUID。要拆分文件,请根据UUID所在的范围将每个项目发送到存储桶中。无论你得到项目的顺序是什么,这将可靠地将其发送到大小相对均匀的存储桶中,并且唯一索引将保证结果相同。

有关更详细的建议,请参阅https://wiki.apache.org/solr/UniqueKey;有关其他有用的提示,请参阅https://wiki.apache.org/solr/LargeIndexes

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46854512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档