SegmentCacheable (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.search, interface: SegmentCacheable

Package org.apache.lucene.search

# Interface SegmentCacheable

All Known Implementing Classes:
  `ConstantScoreWeight`, `DisjunctionMaxQuery.DisjunctionMaxWeight`, `DoubleValuesSource`, `FilterWeight`, `FullPrecisionFloatVectorSimilarityValuesSource`, `IndriAndWeight`, `LateInteractionFloatValuesSource`, `LogOddsFusionQuery.LogOddsFusionWeight`, `LongValuesSource`, `LongValuesSource.ConstantLongValuesSource`, `PhraseWeight`, `Weight`

public interface SegmentCacheable
Interface defining whether or not an object can be cached against a `LeafReader`

Objects that depend only on segment-immutable structures such as Points or postings lists can just return `true` from `isCacheable(LeafReaderContext)`

Objects that depend on doc values should return `DocValues.isCacheable(LeafReaderContext, String...)`, which will check to see if the doc values fields have been updated. Updated doc values fields are not suitable for cacheing.

Objects that are not segment-immutable, such as those that rely on global statistics or scores, should return `false`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `isCacheable(LeafReaderContext ctx)`

- ## Method Details

  - ### isCacheable

    boolean isCacheable(LeafReaderContext ctx)
    Returns:
      `true` if the object can be cached against a given leaf