gcloud alpha firestore indexes composite create

NAME
gcloud alpha firestore indexes composite create - create a new composite index
SYNOPSIS
gcloud alpha firestore indexes composite create--field-config=[array-config=ARRAY-CONFIG],[field-path=FIELD-PATH],[order=ORDER],[vector-config=VECTOR-CONFIG](--collection-group=COLLECTION_GROUP :--database=DATABASE)[--api-scope=API_SCOPE; default="any-api"][--async][--density=DENSITY][--multikey][--query-scope=QUERY_SCOPE; default="collection"][--unique][GCLOUD_WIDE_FLAG]
DESCRIPTION
(ALPHA) Create a new composite index.
EXAMPLES
The following command creates a composite index with fieldsuser_id(in descending order) followed bytimestamp (in descending order)in theEvents collection group.
gcloudalphafirestoreindexescompositecreate--collection-group=Events--field-config=field-path=user-id,order=descending--field-config=field-path=timestamp,order=descending
gcloudalphafirestoreindexescompositecreate--database=(default)--collection-group=Events--field-config=field-path=user-id,order=descending--field-config=field-path=timestamp,order=descending
REQUIRED FLAGS
--field-config=[array-config=ARRAY-CONFIG],[field-path=FIELD-PATH],[order=ORDER],[vector-config=VECTOR-CONFIG]
Required, Configuration for an index field.
array-config
Specifies the configuration for an array field. The only valid option is'contains'. Exactly one of 'order', 'array-config', or 'vector-config' must bespecified.
field-path
Specifies the field path (e.g. 'address.city'). This is required.
order
Specifies the order. Valid options are 'ascending', 'descending'. Exactly one of'order', 'array-config', or 'vector-config' must be specified.
vector-config
Specifies the configuration for a vector field. Exactly one of 'order','array-config', or 'vector-config' must be specified.
dimension
Setsdimension value.
flat
Setsflat value.
Shorthand Example:
--field-config=array-config=string,field-path=string,order=string,vector-config={dimension=int,flat}--field-config=array-config=string,field-path=string,order=string,vector-config={dimension=int,flat}

JSON Example:

--field-config='[{"array-config": "string", "field-path": "string", "order": "string", "vector-config": {"dimension": int, "flat": {}}}]'

File Example:

--field-config=path_to_file.(yaml|json)
Collection group resource - Collection group of the index. The arguments in thisgroup can be used to specify the attributes of this resource. (NOTE) Someattributes are not given arguments in this group but can be set in other ways.

To set theproject attribute:

  • provide the argument--collection-group on the command line with afully specified name;
  • provide the argument--project on the command line;
  • set the propertycore/project.

This must be specified.

--collection-group=COLLECTION_GROUP
ID of the collection group or fully qualified identifier for the collectiongroup.

To set thecollection-group attribute:

  • provide the argument--collection-group on the command line.

This flag argument must be specified if any of the other arguments in this groupare specified.

--database=DATABASE
Database of the collection group.To set thedatabase attribute:
  • provide the argument--collection-group on the command line with afully specified name;
  • provide the argument--database on the command line;
  • the default value of argument [--database] is(default).
OPTIONAL FLAGS
--api-scope=API_SCOPE; default="any-api"
Api scope the index applies to.API_SCOPE must be oneof:any-api,datastore-mode-api,mongodb-compatible-api.
--async
Return immediately, without waiting for the operation in progress to complete.
--density=DENSITY
Density of the index.DENSITY must be one of:dense,density-unspecified,sparse-all,sparse-any.
--multikey
Optional. Whether the index is multikey. By default, the index is not multikey.For non-multikey indexes, none of the paths in the index definition reach ortraverse an array, except via an explicit array index. For multikey indexes, atmost one of the paths in the index definition reach or traverse an array, exceptvia an explicit array index. Violations will result in errors. Note this fieldonly applies to index with MONGODB_COMPATIBLE_API ApiScope.
--query-scope=QUERY_SCOPE; default="collection"
Query scope the index applies to.QUERY_SCOPE must beone of:collection,collection-group,collection-recursive.
--unique
Optional. Whether it is an unique index. Unique index ensures all values for theindexed field(s) are unique across documents.
GCLOUD WIDE FLAGS
These flags are available to all commands:--access-token-file,--account,--billing-project,--configuration,--flags-file,--flatten,--format,--help,--impersonate-service-account,--log-http,--project,--quiet,--trace-token,--user-output-enabled,--verbosity.

Run$gcloud help for details.

API REFERENCE
This command uses thefirestore/v1 API. The full documentation forthis API can be found at:https://cloud.google.com/firestore
NOTES
This command is currently in alpha and might change without notice. If thiscommand fails with API permission errors despite specifying the correct project,you might be trying to access an API with an invitation-only early accessallowlist. These variants are also available:
gcloudfirestoreindexescompositecreate
gcloudbetafirestoreindexescompositecreate

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-09-03 UTC.