我们的指数每天增加2000-3000个文件,增长相对较快。 我们每晚都在进行优化。
关键是,Solr在优化时需要双磁盘空间。实际上,索引的大小为44GB,可以在100GB的分区上运行 - 接下来的几个月。
关键是,50%的磁盘空间在一天的90%时间内未使用,仅在优化期间需要。
接下来的事情:我们必须在该分区期刊上添加更多空间 - 这与来自存储部门的人一直是一次痛苦的讨论(因为我们有多个索引......)。
所以问题是:有没有办法优化索引而不会阻止磁盘上额外100%的索引大小?
我知道,多核分布式搜索是一种选择 - 但这只是一个“后退”解决方案,因为我们需要基本上改变应用程序。
谢谢!
答案 0 :(得分:3)
Lucene在引擎盖下不断融合。阅读可以在solrconfig.xml中设置的Merge Factor。如果你调整这个设置,你可能根本不需要进行优化。
答案 1 :(得分:-1)
您可以通过传递maxSegment
参数来尝试部分优化。
这会将索引减少到指定的数字。
我建议你分批进行(例如,如果有50个段首先减少到30个然后减少到15个,依此类推)。
这是网址:
host:port/solr/CORE_NAME/update?optimize=true&maxSegments=(Enter the number of segments you want to reduce to. Ignore the parentheses)&waitFlush=false