我有一个有效的Solr索引,但我需要帮助重新构建它,使其更小,更快,资源更少。
当前:
- 一个索引保存了过去10年的数据。
- 每日,将5k个新文本文件编入索引
- 索引大小约为。每年40 GB,所以400 GB,10年合计。
要求:
- 能够每晚用新文件更新索引
- 能够从src文件重建索引 - 希望能加快速度。
- 能够保留当前大量的构面字段(大约30个)。
- 能够保持“突出显示” - 因此可以显示提取的文档中的文本。
问题:
-
从头开始重建索引时,有什么权衡(构建时间,内存要求,处理要求)以及何时发出“提交”和“优化”?:
- 构建一个单一的10年索引(在构建期间难以分发)
- 每年构建1个索引 - 然后合并它们
- 每月,每周或每天构建1个索引,然后将它们合并在一起
-
如何合并(有什么权衡):
- 使用cmd line lucene index merge工具,solr的web实例,还是JAVA API?
- 合并时需要多少临时磁盘空间(除了源索引+最终索引大小)
- 合并是否有内存要求?
- 一次合并两个或同时合并是否更好?
- 有没有办法让lucene cmd行索引合并工具输出进度?
-
如何运行索引:
- 一个大索引
- Sharded index - multi core - 每年都有自己的核心。
-
如何应用每日更新:
- 适用于主要指数
- 将新的每日核心创建为新分片,而不是合并。
- 创建新的每日核心并将每日核心与完整索引合并
-
内存,磁盘和CPU的考虑因素是什么?您认为单个机器的要求是什么(对于开发/原型环境,不适用于互联网规模生产)?
- 我需要继续强调。有没有办法既不存储文本字段,或收缩? doc有些减少最终索引的大小而不删除在搜索结果中突出显示的能力?
醇>