【发布时间】:2020-11-27 11:20:48
【问题描述】:
我在测试服务器上更新到 Solr 8.4.0(从 6.x)并重新编制索引(这是一个复杂的 Moodle 系统的索引,主要是许多非常小的文档)。它最初工作,但后来磁盘空间不足,所以我删除了所有内容并尝试索引数据的较小子集,但它仍然用完了磁盘空间。
查看段信息图表,第一段似乎合理:
段_2a1u: #docs:603,564 #dels: 1 大小:5,275,671,226 字节 年龄:2020-11-25T22:10:05.023Z 来源:合并
这是每个文档 8,740 字节 - 有点高但还不错。
段_28ow: #docs:241,082 #dels:31 大小:5,251,034,504 字节 年龄:2020-11-25T18:33:59.636Z 来源:合并
每个文档 21,781 个字节
段_2ajc: #文档:50,159 #dels: 1 大小:5,222,429,424 字节 年龄:2020-11-25T23:29:35.391Z 来源:合并
每个文档 104,117 个字节!
看看结尾处的小片段,情况会变得更糟:
段_2bff: #文档:2 #dels: 0 大小:23,605,447 字节 年龄:2020-11-26T01:36:02.130Z 来源:冲洗
我们的所有搜索文档都不会包含这么多文本。
在我们的生产 Solr 6.6 服务器上,它具有类似但稍大的数据(出于隐私原因,其中一些在测试服务器中被替换为短占位符文本),5GB 的大型分段包含 180 万到 500 万个文档。
有人知道这里出了什么问题吗?我们正在使用 Solr Cell/Tika,我想知道它是否以某种方式开始存储整个文件而不仅仅是提取的文本?
【问题讨论】:
-
我不确定 Luke 是否可以直接打开分段文件,但我会从那里开始。 Luke 包含在标准的 Lucene 二进制发行版中:lucene.apache.org/core/downloads.html - 但您对包含更多信息的新版本 Tika 的猜测可能是正确的假设。您是否尝试过查看
_2bff中包含的文档以查看它们包含哪些字段和内容? -
感谢您的建议!让我接下来可以尝试一些东西。我还检查了两个版本之间的 solrconfig.xml,发现新版本中的 Solr Cell 配置缺少
ignored_ 行,这肯定看起来可能使用更多空格...我会纠正它并重试作为第一步。 -
那肯定会有所作为,是的。在许多格式(例如 PDF 文件)中,元数据可以包含矢量图、缩略图、颜色分析器等。
-
我试过 Luke,但它不仅不能让您打开单个段文件,而且也不能让您查看哪些文件在哪个段中 - 我也找不到其他任何东西。 (我以前想知道,由于不同的原因,没有简单的方法来显示它,这很烦人。)最终通过二进制搜索类型的过程(索引较小的块),我设法缩小了具有问题...
标签: solr