Class IndexGemmaCLI

java.lang.Object
ubic.gemma.cli.util.AbstractCLI
ubic.gemma.apps.IndexGemmaCLI
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware, CLI

public class IndexGemmaCLI extends AbstractCLI
Build or rebuild the Hibernate Search 7 mass index for one or more entity classes.

Each -<opt> flag toggles indexing for the corresponding entity root. With no flags, all indexable roots are rebuilt.

Destructive. Every selected entity's on-disk Lucene index is purged before the rebuild (IndexerService.index(Class) sets purgeAllOnStart(true)). The CLI is intended for full reindex runs (initial bring-up or after a schema change); incremental write-through indexing is a separate (deferred) Phase-3 concern.

The gemma.search.dir system property must point to a writable directory before this CLI runs — the HS 7 Lucene backend writes one sub-directory per indexed entity under that root. The CLI validates the property at startup and aborts if it is missing.

HS 5 → HS 7 port: the IndexerService call shape is unchanged; the underlying Lucene segment format is incompatible, so any pre-existing search-dir content from the HS-5 era must be discarded before the first HS-7 run.

  • Constructor Details

    • IndexGemmaCLI

      public IndexGemmaCLI()
  • Method Details

    • getCommandName

      public String getCommandName()
      Description copied from interface: CLI
      A short memorable name for the command that can be used to locate this class.
      Specified by:
      getCommandName in interface CLI
      Overrides:
      getCommandName in class AbstractCLI
      Returns:
      name; if null or blank, this will not be available as a shortcut command.
    • getShortDesc

      public String getShortDesc()
      Description copied from interface: CLI
      Obtain a short description for this command explaining what it does.
      Specified by:
      getShortDesc in interface CLI
      Overrides:
      getShortDesc in class AbstractCLI
    • getCommandGroup

      public CLI.CommandGroup getCommandGroup()
      Description copied from interface: CLI
      Obtain the command group for this CLI.
      Specified by:
      getCommandGroup in interface CLI
      Overrides:
      getCommandGroup in class AbstractCLI
    • buildOptions

      protected void buildOptions(org.apache.commons.cli.Options options)
      Description copied from class: AbstractCLI
      Build option implementation.

      Implement this method to add options to your command line, using the OptionBuilder.

      This is called right after AbstractCLI.buildStandardOptions(Options) so the options will be added after standard options.

      Overrides:
      buildOptions in class AbstractCLI
    • processOptions

      protected void processOptions(org.apache.commons.cli.CommandLine commandLine)
      Description copied from class: AbstractCLI
      Process command line options.

      Implement this to provide processing of options. It is called after AbstractCLI.buildOptions(Options) and right before AbstractCLI.doWork().

      Overrides:
      processOptions in class AbstractCLI
    • doWork

      protected void doWork()
      Description copied from class: AbstractCLI
      Command line implementation.

      This is called after AbstractCLI.buildOptions(Options) and AbstractCLI.processOptions(CommandLine). so the implementation can assume that all its arguments have already been initialized and any setup behaviour have been performed.

      Specified by:
      doWork in class AbstractCLI