Class IndexOptions


  • public class IndexOptions
    extends Object
    The options to apply to the creation of an index.
    Since:
    3.0
    MongoDB documentation
    Index options
    • Constructor Detail

      • IndexOptions

        public IndexOptions()
    • Method Detail

      • isBackground

        public boolean isBackground()
        Create the index in the background
        Returns:
        true if should create the index in the background
      • background

        public IndexOptions background​(boolean background)
        Should the index should be created in the background
        Parameters:
        background - true if should create the index in the background
        Returns:
        this
      • isUnique

        public boolean isUnique()
        Gets if the index should be unique.
        Returns:
        true if the index should be unique
      • unique

        public IndexOptions unique​(boolean unique)
        Should the index should be unique.
        Parameters:
        unique - if the index should be unique
        Returns:
        this
      • getName

        @Nullable
        public String getName()
        Gets the name of the index.
        Returns:
        the name of the index
      • isSparse

        public boolean isSparse()
        If true, the index only references documents with the specified field
        Returns:
        if the index should only reference documents with the specified field
      • sparse

        public IndexOptions sparse​(boolean sparse)
        Should the index only references documents with the specified field
        Parameters:
        sparse - if true, the index only references documents with the specified field
        Returns:
        this
      • getExpireAfter

        @Nullable
        public Long getExpireAfter​(TimeUnit timeUnit)
        Gets the time to live for documents in the collection
        Parameters:
        timeUnit - the time unit
        Returns:
        the time to live for documents in the collection
        MongoDB documentation
        TTL
      • expireAfter

        public IndexOptions expireAfter​(@Nullable
                                        Long expireAfter,
                                        TimeUnit timeUnit)
        Sets the time to live for documents in the collection
        Parameters:
        expireAfter - the time to live for documents in the collection
        timeUnit - the time unit for expireAfter
        Returns:
        this
        MongoDB documentation
        TTL
      • getVersion

        @Nullable
        public Integer getVersion()
        Gets the index version number.
        Returns:
        the index version number
      • version

        public IndexOptions version​(@Nullable
                                    Integer version)
        Sets the index version number.
        Parameters:
        version - the index version number
        Returns:
        this
      • getWeights

        @Nullable
        public Bson getWeights()
        Gets the weighting object for use with a text index

        A document that represents field and weight pairs. The weight is an integer ranging from 1 to 99,999 and denotes the significance of the field relative to the other indexed fields in terms of the score.

        Returns:
        the weighting object
        MongoDB documentation
        Control Search Results with Weights
      • weights

        public IndexOptions weights​(@Nullable
                                    Bson weights)
        Sets the weighting object for use with a text index.

        An document that represents field and weight pairs. The weight is an integer ranging from 1 to 99,999 and denotes the significance of the field relative to the other indexed fields in terms of the score.

        Parameters:
        weights - the weighting object
        Returns:
        this
        MongoDB documentation
        Control Search Results with Weights
      • getDefaultLanguage

        @Nullable
        public String getDefaultLanguage()
        Gets the language for a text index.

        The language that determines the list of stop words and the rules for the stemmer and tokenizer.

        Returns:
        the language for a text index.
        MongoDB documentation
        Text Search languages
      • defaultLanguage

        public IndexOptions defaultLanguage​(@Nullable
                                            String defaultLanguage)
        Sets the language for the text index.

        The language that determines the list of stop words and the rules for the stemmer and tokenizer.

        Parameters:
        defaultLanguage - the language for the text index.
        Returns:
        this
        MongoDB documentation
        Text Search languages
      • getLanguageOverride

        @Nullable
        public String getLanguageOverride()
        Gets the name of the field that contains the language string.

        For text indexes, the name of the field, in the collection's documents, that contains the override language for the document.

        Returns:
        the name of the field that contains the language string.
        MongoDB documentation
        Language override
      • languageOverride

        public IndexOptions languageOverride​(@Nullable
                                             String languageOverride)
        Sets the name of the field that contains the language string.

        For text indexes, the name of the field, in the collection's documents, that contains the override language for the document.

        Parameters:
        languageOverride - the name of the field that contains the language string.
        Returns:
        this
        MongoDB documentation
        Language override
      • getTextVersion

        @Nullable
        public Integer getTextVersion()
        The text index version number.
        Returns:
        the text index version number.
      • textVersion

        public IndexOptions textVersion​(@Nullable
                                        Integer textVersion)
        Set the text index version number.
        Parameters:
        textVersion - the text index version number.
        Returns:
        this
      • getSphereVersion

        @Nullable
        public Integer getSphereVersion()
        Gets the 2dsphere index version number.
        Returns:
        the 2dsphere index version number
      • sphereVersion

        public IndexOptions sphereVersion​(@Nullable
                                          Integer sphereVersion)
        Sets the 2dsphere index version number.
        Parameters:
        sphereVersion - the 2dsphere index version number.
        Returns:
        this
      • getBits

        @Nullable
        public Integer getBits()
        Gets the number of precision of the stored geohash value of the location data in 2d indexes.
        Returns:
        the number of precision of the stored geohash value
      • bits

        public IndexOptions bits​(@Nullable
                                 Integer bits)
        Sets the number of precision of the stored geohash value of the location data in 2d indexes.
        Parameters:
        bits - the number of precision of the stored geohash value
        Returns:
        this
      • getMin

        @Nullable
        public Double getMin()
        Gets the lower inclusive boundary for the longitude and latitude values for 2d indexes..
        Returns:
        the lower inclusive boundary for the longitude and latitude values.
      • min

        public IndexOptions min​(@Nullable
                                Double min)
        Sets the lower inclusive boundary for the longitude and latitude values for 2d indexes..
        Parameters:
        min - the lower inclusive boundary for the longitude and latitude values
        Returns:
        this
      • getMax

        @Nullable
        public Double getMax()
        Gets the upper inclusive boundary for the longitude and latitude values for 2d indexes..
        Returns:
        the upper inclusive boundary for the longitude and latitude values.
      • max

        public IndexOptions max​(@Nullable
                                Double max)
        Sets the upper inclusive boundary for the longitude and latitude values for 2d indexes..
        Parameters:
        max - the upper inclusive boundary for the longitude and latitude values
        Returns:
        this
      • getBucketSize

        @Nullable
        @Deprecated
        public Double getBucketSize()
        Deprecated.
        geoHaystack is deprecated in MongoDB 4.4
        Gets the specified the number of units within which to group the location values for geoHaystack Indexes
        Returns:
        the specified the number of units within which to group the location values for geoHaystack Indexes
        MongoDB documentation
        geoHaystack Indexes
      • bucketSize

        @Deprecated
        public IndexOptions bucketSize​(@Nullable
                                       Double bucketSize)
        Deprecated.
        geoHaystack is deprecated in MongoDB 4.4
        Sets the specified the number of units within which to group the location values for geoHaystack Indexes
        Parameters:
        bucketSize - the specified the number of units within which to group the location values for geoHaystack Indexes
        Returns:
        this
        MongoDB documentation
        geoHaystack Indexes
      • getStorageEngine

        @Nullable
        public Bson getStorageEngine()
        Gets the storage engine options document for this index.
        Returns:
        the storage engine options
        Since server release
        3.0
      • storageEngine

        public IndexOptions storageEngine​(@Nullable
                                          Bson storageEngine)
        Sets the storage engine options document for this index.
        Parameters:
        storageEngine - the storage engine options
        Returns:
        this
        Since server release
        3.0
      • getPartialFilterExpression

        @Nullable
        public Bson getPartialFilterExpression()
        Get the filter expression for the documents to be included in the index or null if not set
        Returns:
        the filter expression for the documents to be included in the index or null if not set
        Since:
        3.2
        Since server release
        3.2
      • partialFilterExpression

        public IndexOptions partialFilterExpression​(@Nullable
                                                    Bson partialFilterExpression)
        Sets the filter expression for the documents to be included in the index
        Parameters:
        partialFilterExpression - the filter expression for the documents to be included in the index
        Returns:
        this
        Since:
        3.2
        Since server release
        3.2
      • getCollation

        @Nullable
        public Collation getCollation()
        Returns the collation options
        Returns:
        the collation options
        Since:
        3.4
        Since server release
        3.4
      • collation

        public IndexOptions collation​(@Nullable
                                      Collation collation)
        Sets the collation options

        A null value represents the server default.

        Parameters:
        collation - the collation options to use
        Returns:
        this
        Since:
        3.4
        Since server release
        3.4
      • getWildcardProjection

        public Bson getWildcardProjection()
        Gets the wildcard projection of a wildcard index
        Returns:
        the wildcard projection
        Since:
        3.10
        Since server release
        4.2
      • wildcardProjection

        public IndexOptions wildcardProjection​(Bson wildcardProjection)
        Sets the wildcard projection of a wildcard index
        Parameters:
        wildcardProjection - the wildcard projection
        Returns:
        this
        Since:
        3.10
        Since server release
        4.2
      • isHidden

        public boolean isHidden()
        Gets whether the index should not be used by the query planner when executing operations.
        Returns:
        true if the index should not be used by the query planner when executing operations.
        Since:
        4.1
        Since server release
        4.4
      • hidden

        public IndexOptions hidden​(boolean hidden)
        Should the index not be used by the query planner when executing operations.
        Parameters:
        hidden - true if the index should be hidden
        Returns:
        this
        Since:
        4.1
        Since server release
        4.4