Class MakeDefaultSummaryTheSuperSet

java.lang.Object
com.yahoo.schema.processing.Processor
com.yahoo.schema.processing.MakeDefaultSummaryTheSuperSet

public class MakeDefaultSummaryTheSuperSet extends Processor
All summary fields which are not attributes must currently be present in the default summary class, since the default summary class also defines the docsum.dat format. This processor adds any missing summaries to the default summary. When that is decoupled from the actual summaries returned, this processor can be removed. Note: the StreamingSummary also takes advantage of the fact that default is the superset. All other summary logic should work unchanged without this processing step except that IndexStructureValidator.validateSummaryFields must be changed to consider all summaries, not just the default, i.e change to if (search.getSummaryField(expr.getFieldName()) == null) This must be done after other summary processors.
Author:
bratseth
  • Constructor Details

    • MakeDefaultSummaryTheSuperSet

      public MakeDefaultSummaryTheSuperSet(Schema schema, com.yahoo.config.application.api.DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, QueryProfiles queryProfiles)
  • Method Details

    • process

      public void process(boolean validate, boolean documentsOnly)
      Description copied from class: Processor
      Processes the input search definition by modifying the input search and its documents, and returns the input search definition.
      Specified by:
      process in class Processor
      Parameters:
      validate - true to throw exceptions on validation errors, false to make the best possible effort at completing processing without throwing an exception. If we are not validating, emitting warnings have no effect and can (but must not) be skipped.
      documentsOnly - true to skip processing (including validation, regardless of the validate setting) of aspects not relating to document definitions (e.g rank profiles)