Enum Index.Density (3.37.0)

public enum Index.Density extends Enum<Index.Density> implements ProtocolMessageEnum

The density configuration for the index.

Protobuf enum google.firestore.admin.v1.Index.Density

Implements

ProtocolMessageEnum

Static Fields

Name Description
DENSE

An index entry will exist regardless of if the fields are present or not.

This is the default density for an Enterprise Edition database.

The index will store unset values for fields that are not present in the document.

DENSE = 3;

DENSE_VALUE

An index entry will exist regardless of if the fields are present or not.

This is the default density for an Enterprise Edition database.

The index will store unset values for fields that are not present in the document.

DENSE = 3;

DENSITY_UNSPECIFIED

Unspecified. It will use database default setting. This value is input only.

DENSITY_UNSPECIFIED = 0;

DENSITY_UNSPECIFIED_VALUE

Unspecified. It will use database default setting. This value is input only.

DENSITY_UNSPECIFIED = 0;

SPARSE_ALL

An index entry will only exist if ALL fields are present in the document.

This is both the default and only allowed value for Standard Edition databases (for both Cloud Firestore ANY_API and Cloud Datastore DATASTORE_MODE_API).

Take for example the following document:

` { "name": "...", "a": 1, "b": 2, "c": 3 }

an index on (a ASC, b ASC, c ASC, name ASC) will generate an index entry for this document since a, 'b', c, and name are all present but an index of (a ASC, d ASC, name ASC) will not generate an index entry for this document since d` is missing.

This means that such indexes can only be used to serve a query when the query has either implicit or explicit requirements that all fields from the index are present.

SPARSE_ALL = 1;

SPARSE_ALL_VALUE

An index entry will only exist if ALL fields are present in the document.

This is both the default and only allowed value for Standard Edition databases (for both Cloud Firestore ANY_API and Cloud Datastore DATASTORE_MODE_API).

Take for example the following document:

` { "name": "...", "a": 1, "b": 2, "c": 3 }

an index on (a ASC, b ASC, c ASC, name ASC) will generate an index entry for this document since a, 'b', c, and name are all present but an index of (a ASC, d ASC, name ASC) will not generate an index entry for this document since d` is missing.

This means that such indexes can only be used to serve a query when the query has either implicit or explicit requirements that all fields from the index are present.

SPARSE_ALL = 1;

SPARSE_ANY

An index entry will exist if ANY field are present in the document.

This is used as the definition of a sparse index for Enterprise Edition databases.

Take for example the following document:

` { "name": "...", "a": 1, "b": 2, "c": 3 }

an index on (a ASC, d ASC) will generate an index entry for this document since a is present, and will fill in an unset value for d. An index on (d ASC, e ASC) will not generate any index entry as neither d nor e are present.

An index that contains name will generate an index entry for all documents since Firestore guarantees that all documents have a name` field.

SPARSE_ANY = 2;

SPARSE_ANY_VALUE

An index entry will exist if ANY field are present in the document.

This is used as the definition of a sparse index for Enterprise Edition databases.

Take for example the following document:

` { "name": "...", "a": 1, "b": 2, "c": 3 }

an index on (a ASC, d ASC) will generate an index entry for this document since a is present, and will fill in an unset value for d. An index on (d ASC, e ASC) will not generate any index entry as neither d nor e are present.

An index that contains name will generate an index entry for all documents since Firestore guarantees that all documents have a name` field.

SPARSE_ANY = 2;

UNRECOGNIZED

Static Methods

Name Description
forNumber(int value)
getDescriptor()
internalGetValueMap()
valueOf(Descriptors.EnumValueDescriptor desc)
valueOf(int value)

Deprecated. Use #forNumber(int) instead.

valueOf(String name)
values()

Methods

Name Description
getDescriptorForType()
getNumber()
getValueDescriptor()