The CLI index command

The Sitecore indexing plugin includes an index command. This command automates indexing operations. To install the indexing plugin, run the following code:

RequestResponse
dotnet sitecore plugin add -n Sitecore.DevEx.Extensibility.Indexing

Usage

You can use the command as follows:

RequestResponse
dotnet sitecore index [subcommand] [options]

Subcommands

You can use the following subcommands:

  • list - provides the list of available indexes from the environment.

  • schema-populate - populates the managed schema.

  • rebuild - rebuilds all the indexes.

  • statistic - shows statistics of all the indexes.

All the subcommands require elevated permissions.

The list subcommand

The list subcommand provides the list of available indexes from the environment.

You can use the following options with the list subcommand:

Option

Required

Description

-n, --environment-name <environment-name>

Optional

The Sitecore environment to use. Default: default.

-c, --config <CONFIG>

Optional

Path to root sitecore.config directory (default: cwd).

-v, --verbose

Optional

Report additional diagnostic and performance data.

-t, --trace

Optional

Report additional diagnostic and performance data.

-?, -h, --help

Optional

Help for the command.

For example:

RequestResponse
dotnet sitecore index list

The output of the command shows available indexes:

RequestResponse
Indexes list:
sitecore_core_index
sitecore_master_index
sitecore_web_index
sitecore_horizon_index

The schema-populate subcommand

The schema-populate subcommand populates the managed schema.

You can use the following options with the schema-populate subcommand:

Option

Required

Description

-i, --indexes <list-of-indexes>

Optional

Populate the schema for specified indexes.

-n, --environment-name <environment-name>

Optional

The Sitecore environment to use. Default: default.

-c, --config <CONFIG>

Optional

Path to root sitecore.config directory (default: cwd).

-v, --verbose

Optional

Report additional diagnostic and performance data.

-t, --trace

Optional

Report additional diagnostic and performance data.

-?, -h, --help

Optional

Help for the command.

You can use the command to populate specific indexes or all indexes.

For example, to populate a single index, you specify the name of the index using the -i option:

RequestResponse
dotnet sitecore index schema-populate -i sitecore_master_index

When the process finishes, it shows the result:

RequestResponse
The search indexes have been populated.

Result:
sitecore_master_index [job ended]

Running the command without specifying any index populates all the indexes in the managed schema. For example:

RequestResponse
dotnet sitecore index schema-populate

When the process completes, it displays the populated indexes:

RequestResponse
The search indexes have been populated.

Result:
sitecore_core_index   [job ended] 
sitecore_master_index [job ended] 
sitecore_web_index    [job ended]

The rebuild subcommand

The rebuild subcommand rebuilds all the indexes.

You can use the following options with the rebuild subcommand:

Option

Required

Description

-i, --indexes <list-of-indexes>

Optional

Rebuild the specified indexes.

-n, --environment-name <environment-name>

Optional

The Sitecore environment to use. Default: default.

-c, --config <CONFIG>

Optional

Path to root sitecore.config directory (default: cwd).

-v, --verbose

Optional

Report additional diagnostic and performance data.

-t, --trace

Optional

Report additional diagnostic and performance data.

-?, -h, --help

Optional

Help for the command.

You can use the command to rebuild specific indexes or all indexes.

For example, to rebuild a single index, you specify the name of the index using the -i option:

RequestResponse
dotnet sitecore index rebuild -i sitecore_master_index

When the process finishes, it shows the result:

RequestResponse
The search indexes have been rebuilt.

Result:
sitecore_master_index [job ended] [units processsed: 16620]

Running the command without specifying any index rebuilds all the indexes in the managed schema. For example:

RequestResponse
dotnet sitecore index rebuild

When the process finishes, it displays the rebuilt indexes and the number of processed units:

RequestResponse
The search indexes have been rebuilt.

Result:
sitecore_core_index   [job ended] [units processsed: 13596]
sitecore_master_index [job ended] [units processsed: 16620]
sitecore_web_index    [job ended] [units processsed: 13596]

The statistic subcommand

The statistic subcommand shows statistics of all the indexes.

You can use the following options with the statistic subcommand:

Option

Required

Description

-n, --environment-name <environment-name>

Optional

The Sitecore environment to use. Default: default.

-c, --config

Optional

Path to root sitecore.config directory (default: cwd).

-t, --trace

Optional

Report additional diagnostic and performance data.

-?, -h, --help

Optional

Help for the command.

For example, running the command:

RequestResponse
dotnet sitecore index statistic

displays the following information about available indexes:

RequestResponse
Index statistics:
 sitecore_core_index
  Rebuild Time: Never Run
  Last Updated: 08/13/2021 - 08:45 (UTC)
  Approximate Throughput: items per second
  Has Deletions: False
  Out of Date: False
  Document Count: 0
  Number of Fields: -1
  Number of Terms: -1

Do you have some feedback for us?

If you have suggestions for improving this article,