【问题标题】:How to check solr index size per field如何检查每个字段的 solr 索引大小
【发布时间】:2015-08-04 00:07:22
【问题描述】:

有没有办法检查每个字段的 solr 索引大小?

我们有一个 170G 的大索引大小,我们想弄清楚哪个字段填满了索引大小。

【问题讨论】:

  • 您可以使用 Luke wiki.apache.org/solr/LukeRequestHandler获得一些信息,但不确定其粒度如何
  • 我尝试了 Luke,但它不适用于 datastax 搜索。它给我带来了错误。 java.lang.IllegalArgumentException:不存在名称为“dse460”的 org.apache.lucene.codecs.Codec 类型的 SPI 类。您需要将支持此 SPI 的相应 JAR 文件添加到您的类路径中。当前类路径支持以下名称:[Lucene50, Lucene40, Lucene41, Lucene42, Lucene45, Lucene46, Lucene49, Lucene410, SimpleText]
  • Iirc Luke 与 DSE 捆绑在一起。你想用你自己的吗?
  • 我正在尝试使用 Luke 分析器github.com/DmitryKey/luke
  • 就像我说的,Luke 与 DSE 捆绑在一起。只需在浏览器上点击:http://:8983/solr/./admin/luke?&numTerms=0

标签: solr solr4 datastax-enterprise


【解决方案1】:

修改你的 schema.xml

您可以采用以下策略来最小化索引大小:

1) 如果您不使用突出显示或其他依赖于它的功能,请关闭 Term Vector 信息:

• termVectors="false"

• termPositions="false"

• termOffsets="假"

2) 如果您不使用 Boost,请打开 omit norms:

• omitNorms="true"

3) 仅索引您打算搜索的字段。正如您上面提到的,您不必为所有字段编制索引

据我所见,术语向量和省略范数可能占您索引的很大一部分 ~50%

详细了解您的索引

您还可以使用 Luke 内省索引。 Luke 捆绑在 DSE 中,因此您可以通过点击从浏览器访问它:

http://:8983/solr/./admin/luke?&numTerms=0

【讨论】:

  • 我们已经在使用这些选项 omitNorms="true" termVectors="false" termPositions="false" termOffsets="false"。但是,我们仍然会遇到较大的索引大小。
  • 是的,我可以看到来自 url 的卢克输出,但它没有显示每个字段的索引大小。
  • 据我所知,您必须通过使用不同的 schema.xml 重新索引并查看对索引大小的影响来运行一些测试。
【解决方案2】:

从 Solr 8.2 开始,有一个用于索引分析的新工具 欲了解更多信息,请参阅 https://issues.apache.org/jira/browse/SOLR-13512

【讨论】:

  • 这与这个问题无关。 DSE 搜索包括 Solr 6.0...
猜你喜欢
  • 1970-01-01
  • 2014-08-21
  • 1970-01-01
  • 2015-11-07
  • 1970-01-01
  • 2011-06-21
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
相关资源
最近更新 更多