Class QueryIndexManager
- java.lang.Object
-
- com.couchbase.client.java.manager.query.QueryIndexManager
-
public class QueryIndexManager extends Object
Performs management operations on query indexes.
-
-
Constructor Summary
Constructors Constructor Description QueryIndexManager(AsyncQueryIndexManager async)Creates a newQueryIndexManager.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AsyncQueryIndexManagerasync()Provides access to theAsyncQueryIndexManager.voidbuildDeferredIndexes(String bucketName)Builds all currently deferred indexes in the bucket's default collection.voidbuildDeferredIndexes(String bucketName, BuildQueryIndexOptions options)Builds all currently deferred indexes in a collection.voidcreateIndex(String bucketName, String indexName, Collection<String> fields)Creates a named query index.voidcreateIndex(String bucketName, String indexName, Collection<String> fields, CreateQueryIndexOptions options)Creates a named query index with custom options.voidcreatePrimaryIndex(String bucketName)Creates a primary query index.voidcreatePrimaryIndex(String bucketName, CreatePrimaryQueryIndexOptions options)Creates a primary query index with custom options.voiddropIndex(String bucketName, String indexName)Drops a query index from a bucket.voiddropIndex(String bucketName, String indexName, DropQueryIndexOptions options)Drops a query index from a bucket with custom options.voiddropPrimaryIndex(String bucketName)Drops the primary index from a bucket.voiddropPrimaryIndex(String bucketName, DropPrimaryQueryIndexOptions options)Drops the primary index from a bucket with custom options.List<QueryIndex>getAllIndexes(String bucketName)Fetches all indexes from the bucket.List<QueryIndex>getAllIndexes(String bucketName, GetAllQueryIndexesOptions options)Fetches all indexes from the bucket with custom options.ReactiveQueryIndexManagerreactive()Provides access to theReactiveQueryIndexManager.voidwatchIndexes(String bucketName, Collection<String> indexNames, Duration timeout)Watches/Polls indexes until they are online.voidwatchIndexes(String bucketName, Collection<String> indexNames, Duration timeout, WatchQueryIndexesOptions options)Watches/Polls indexes until they are online with custom options.
-
-
-
Constructor Detail
-
QueryIndexManager
@Internal public QueryIndexManager(AsyncQueryIndexManager async)
Creates a newQueryIndexManager.This API is not intended to be called by the user directly, use
Cluster.queryIndexes()instead.- Parameters:
async- the async index manager.
-
-
Method Detail
-
async
public AsyncQueryIndexManager async()
Provides access to theAsyncQueryIndexManager.
-
reactive
public ReactiveQueryIndexManager reactive()
Provides access to theReactiveQueryIndexManager.
-
createPrimaryIndex
public void createPrimaryIndex(String bucketName)
Creates a primary query index.By default, this method will create an index on the bucket. If an index needs to be created on a collection, both
CreatePrimaryQueryIndexOptions.scopeName(String)andCreatePrimaryQueryIndexOptions.collectionName(String)must be set.- Parameters:
bucketName- the name of the bucket to create the index on.- Throws:
IndexFailureException- if creating the index failed (see reason for details).IndexExistsException- if an index already exists with the given name on the keyspace.CouchbaseException- if any other generic unhandled/unexpected errors.
-
createPrimaryIndex
public void createPrimaryIndex(String bucketName, CreatePrimaryQueryIndexOptions options)
Creates a primary query index with custom options.By default, this method will create an index on the bucket. If an index needs to be created on a collection, both
CreatePrimaryQueryIndexOptions.scopeName(String)andCreatePrimaryQueryIndexOptions.collectionName(String)must be set.- Parameters:
bucketName- the name of the bucket to create the index on.options- the custom options to apply.- Throws:
IndexFailureException- if creating the index failed (see reason for details).IndexExistsException- if an index already exists with the given name on the keyspace.CouchbaseException- if any other generic unhandled/unexpected errors.
-
createIndex
public void createIndex(String bucketName, String indexName, Collection<String> fields)
Creates a named query index.By default, this method will create an index on the bucket. If an index needs to be created on a collection, both
CreateQueryIndexOptions.scopeName(String)andCreateQueryIndexOptions.collectionName(String)must be set.- Parameters:
bucketName- the name of the bucket to create the index on.indexName- the name of the query index.fields- the collection of fields that are part of the index.- Throws:
IndexFailureException- if creating the index failed (see reason for details).IndexExistsException- if an index already exists with the given name on the keyspace.CouchbaseException- if any other generic unhandled/unexpected errors.
-
createIndex
public void createIndex(String bucketName, String indexName, Collection<String> fields, CreateQueryIndexOptions options)
Creates a named query index with custom options.By default, this method will create an index on the bucket. If an index needs to be created on a collection, both
CreateQueryIndexOptions.scopeName(String)andCreateQueryIndexOptions.collectionName(String)must be set.- Parameters:
bucketName- the name of the bucket to create the index on.indexName- the name of the query index.fields- the collection of fields that are part of the index.options- the custom options to apply.- Throws:
IndexFailureException- if creating the index failed (see reason for details).IndexExistsException- if an index already exists with the given name on the keyspace.CouchbaseException- if any other generic unhandled/unexpected errors.
-
getAllIndexes
public List<QueryIndex> getAllIndexes(String bucketName)
Fetches all indexes from the bucket.By default, this method will fetch all index on the bucket. If the indexes should be loaded for a collection, both
GetAllQueryIndexesOptions.scopeName(String)andGetAllQueryIndexesOptions.collectionName(String)must be set. If all indexes for a scope should be loaded, only theGetAllQueryIndexesOptions.scopeName(String)can be set.- Parameters:
bucketName- the name of the bucket to load the indexes from.- Returns:
- a list of (potentially empty) indexes or failed with an error.
- Throws:
CouchbaseException- if any other generic unhandled/unexpected errors.
-
getAllIndexes
public List<QueryIndex> getAllIndexes(String bucketName, GetAllQueryIndexesOptions options)
Fetches all indexes from the bucket with custom options.By default, this method will fetch all index on the bucket. If the indexes should be loaded for a collection, both
GetAllQueryIndexesOptions.scopeName(String)andGetAllQueryIndexesOptions.collectionName(String)must be set. If all indexes for a scope should be loaded, only theGetAllQueryIndexesOptions.scopeName(String)can be set.- Parameters:
bucketName- the name of the bucket to load the indexes from.options- the custom options to apply.- Returns:
- a list of (potentially empty) indexes or failed with an error.
- Throws:
CouchbaseException- if any other generic unhandled/unexpected errors.
-
dropPrimaryIndex
public void dropPrimaryIndex(String bucketName)
Drops the primary index from a bucket.By default, this method will drop the primary index on the bucket. If the index should be dropped on a collection, both
DropPrimaryQueryIndexOptions.scopeName(String)andDropPrimaryQueryIndexOptions.collectionName(String)must be set.- Parameters:
bucketName- the name of the bucket to drop the indexes from.- Throws:
IndexNotFoundException- if the index does not exist.IndexFailureException- if dropping the index failed (see reason for details).CouchbaseException- if any other generic unhandled/unexpected errors.
-
dropPrimaryIndex
public void dropPrimaryIndex(String bucketName, DropPrimaryQueryIndexOptions options)
Drops the primary index from a bucket with custom options.By default, this method will drop the primary index on the bucket. If the index should be dropped on a collection, both
DropPrimaryQueryIndexOptions.scopeName(String)andDropPrimaryQueryIndexOptions.collectionName(String)must be set.- Parameters:
bucketName- the name of the bucket to drop the indexes from.options- the custom options to apply.- Throws:
IndexNotFoundException- if the index does not exist.IndexFailureException- if dropping the index failed (see reason for details).CouchbaseException- if any other generic unhandled/unexpected errors.
-
dropIndex
public void dropIndex(String bucketName, String indexName)
Drops a query index from a bucket.By default, this method will drop the index on the bucket. If the index should be dropped on a collection, both
DropQueryIndexOptions.scopeName(String)andDropQueryIndexOptions.collectionName(String)must be set.- Parameters:
bucketName- the name of the bucket to drop the indexes from.indexName- the name of the index top drop.- Throws:
IndexNotFoundException- if the index does not exist.IndexFailureException- if dropping the index failed (see reason for details).CouchbaseException- if any other generic unhandled/unexpected errors.
-
dropIndex
public void dropIndex(String bucketName, String indexName, DropQueryIndexOptions options)
Drops a query index from a bucket with custom options.By default, this method will drop the index on the bucket. If the index should be dropped on a collection, both
DropQueryIndexOptions.scopeName(String)andDropQueryIndexOptions.collectionName(String)must be set.- Parameters:
bucketName- the name of the bucket to drop the indexes from.indexName- the name of the index top drop.options- the custom options to apply.- Throws:
IndexNotFoundException- if the index does not exist.IndexFailureException- if dropping the index failed (see reason for details).CouchbaseException- if any other generic unhandled/unexpected errors.
-
buildDeferredIndexes
public void buildDeferredIndexes(String bucketName)
Builds all currently deferred indexes in the bucket's default collection.To target a different collection, see
buildDeferredIndexes(String, BuildQueryIndexOptions).- Parameters:
bucketName- the name of the bucket to build deferred indexes for.- Throws:
CouchbaseException- if any other generic unhandled/unexpected errors.
-
buildDeferredIndexes
public void buildDeferredIndexes(String bucketName, BuildQueryIndexOptions options)
Builds all currently deferred indexes in a collection.By default, this method targets the bucket's default collection. To target a different collection, specify both
BuildQueryIndexOptions.scopeName(String)andBuildQueryIndexOptions.collectionName(String).- Parameters:
bucketName- the name of the bucket to build deferred indexes for.options- the custom options to apply.- Throws:
CouchbaseException- if any other generic unhandled/unexpected errors.
-
watchIndexes
public void watchIndexes(String bucketName, Collection<String> indexNames, Duration timeout)
Watches/Polls indexes until they are online.By default, this method will watch the indexes on the bucket. If the indexes should be watched on a collection, both
WatchQueryIndexesOptions.scopeName(String)andWatchQueryIndexesOptions.collectionName(String)must be set.- Parameters:
bucketName- the name of the bucket where the indexes should be watched.indexNames- the names of the indexes to watch.timeout- the maximum amount of time the indexes should be watched.- Throws:
CouchbaseException- if any other generic unhandled/unexpected errors.
-
watchIndexes
public void watchIndexes(String bucketName, Collection<String> indexNames, Duration timeout, WatchQueryIndexesOptions options)
Watches/Polls indexes until they are online with custom options.By default, this method will watch the indexes on the bucket. If the indexes should be watched on a collection, both
WatchQueryIndexesOptions.scopeName(String)andWatchQueryIndexesOptions.collectionName(String)must be set.- Parameters:
bucketName- the name of the bucket where the indexes should be watched.indexNames- the names of the indexes to watch.timeout- the maximum amount of time the indexes should be watched.options- the custom options to apply.- Throws:
CouchbaseException- if any other generic unhandled/unexpected errors.
-
-