Java 如果编解码器未存储此度量值

Java 如果编解码器未存储此度量值,java,lucene,codec,Java,Lucene,Codec,我在Lucene中看到了许多方法,其中包含以下文本: 如果编解码器未存储此度量值 例如org.apache.lucene.index.Terms类的size方法: 公共抽象长大小抛出IOException 返回此字段的术语数,如果使用此度量值,则返回-1 不是由编解码器存储的。请注意,与其他术语度量一样, 此措施不考虑已删除的文档 这意味着什么 谢谢。Codec是coder-decoder的缩写,它是处理lucene如何索引文档以及在文档中维护哪些数据的实现 像Terms及其底层TermsEnu

我在Lucene中看到了许多方法,其中包含以下文本:

如果编解码器未存储此度量值

例如org.apache.lucene.index.Terms类的size方法:

公共抽象长大小抛出IOException

返回此字段的术语数,如果使用此度量值,则返回-1 不是由编解码器存储的。请注意,与其他术语度量一样, 此措施不考虑已删除的文档

这意味着什么


谢谢。

Codec是coder-decoder的缩写,它是处理lucene如何索引文档以及在文档中维护哪些数据的实现

像Terms及其底层TermsEnum这样的类是抽象的,由编解码器本身实现。他们提供的很多内容都是有用的,但却是补充性的元数据。一些编解码器实现可能不会存储很多数据。在这种情况下,规范将返回-1作为一个标志,通常表示您请求的数据段不可用

在其他情况下,如Terms.getSumTotalTermFreq,如果您将其配置为不存储您请求的数据,则它可以返回-1