Packages

class QueryIndexManager extends AnyRef

Allows query indexes to be managed.

Operations take a bucketName, scopeName and collectionName.

If only bucketName is provided, the indexes affected will be those on the bucket's default scope and collection. If bucketName and scopeName are provided, the indexes affected will be all those on collections under that scope. If bucketName, scopeName and collectionName are provided, the affected fetched will be on that specific collection.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. QueryIndexManager
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new QueryIndexManager(async: AsyncQueryIndexManager)(implicit ec: ExecutionContext)

Value Members

  1. def buildDeferredIndexes(bucketName: String, timeout: Duration = DefaultTimeout, retryStrategy: RetryStrategy = DefaultRetryStrategy, scopeName: Option[String] = None, collectionName: Option[String] = None): Try[Unit]

    Build all deferred indexes.

    Build all deferred indexes.

    bucketName

    the bucket to build indexes on.

    timeout

    when the operation will timeout. This will default to timeoutConfig().managementTimeout () in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    retryStrategy

    provides some control over how the SDK handles failures. Will default to retryStrategy() in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    scopeName

    if specified, this operation will work on a given com.couchbase.client.scala.Scope and com.couchbase.client.scala.Collection. If specified, collectionName must also be specified.

    collectionName

    if specified, this operation will work on a given com.couchbase.client.scala.Scope and com.couchbase.client.scala.Collection. If specified, scopeName must also be specified.

  2. def createIndex(bucketName: String, indexName: String, fields: Iterable[String], ignoreIfExists: Boolean = false, numReplicas: Option[Int] = None, deferred: Option[Boolean] = None, timeout: Duration = DefaultTimeout, retryStrategy: RetryStrategy = DefaultRetryStrategy, scopeName: Option[String] = None, collectionName: Option[String] = None): Try[Unit]

    Creates a new query index with the specified parameters.

    Creates a new query index with the specified parameters.

    bucketName

    the bucket to create the index on.

    indexName

    the name of the index.

    ignoreIfExists

    if an index with the same name already exists, the operation will fail.

    numReplicas

    how many replicas of the index to create.

    deferred

    set to true to defer building the index until buildDeferredIndexes is called. This can provide improved performance when creating multiple indexes.

    timeout

    when the operation will timeout. This will default to timeoutConfig().managementTimeout () in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    retryStrategy

    provides some control over how the SDK handles failures. Will default to retryStrategy() in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    scopeName

    if specified, this operation will work on a given com.couchbase.client.scala.Scope and com.couchbase.client.scala.Collection. If specified, collectionName must also be specified.

    collectionName

    if specified, this operation will work on a given com.couchbase.client.scala.Scope and com.couchbase.client.scala.Collection. If specified, scopeName must also be specified.

  3. def createPrimaryIndex(bucketName: String, indexName: Option[String] = None, ignoreIfExists: Boolean = false, numReplicas: Option[Int] = None, deferred: Option[Boolean] = None, timeout: Duration = DefaultTimeout, retryStrategy: RetryStrategy = DefaultRetryStrategy, scopeName: Option[String] = None, collectionName: Option[String] = None): Try[Unit]

    Creates a new primary query index with the specified parameters.

    Creates a new primary query index with the specified parameters.

    bucketName

    the bucket to create the index on.

    indexName

    the name of the index. If not set the server assigns the default primary index name.

    ignoreIfExists

    if a primary index already exists, the operation will fail.

    numReplicas

    how many replicas of the index to create.

    deferred

    set to true to defer building the index until buildDeferredIndexes is called. This can provide improved performance when creating multiple indexes.

    timeout

    when the operation will timeout. This will default to timeoutConfig().managementTimeout () in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    retryStrategy

    provides some control over how the SDK handles failures. Will default to retryStrategy() in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    scopeName

    if specified, this operation will work on a given com.couchbase.client.scala.Scope and com.couchbase.client.scala.Collection. If specified, collectionName must also be specified.

    collectionName

    if specified, this operation will work on a given com.couchbase.client.scala.Scope and com.couchbase.client.scala.Collection. If specified, scopeName must also be specified.

  4. def dropIndex(bucketName: String, indexName: String, ignoreIfNotExists: Boolean = false, timeout: Duration = DefaultTimeout, retryStrategy: RetryStrategy = DefaultRetryStrategy, scopeName: Option[String] = None, collectionName: Option[String] = None): Try[Unit]

    Drops an existing index.

    Drops an existing index.

    bucketName

    the bucket to remove the index from.

    indexName

    the name of the index.

    ignoreIfNotExists

    sets whether the operation should fail if the index does not exists

    timeout

    when the operation will timeout. This will default to timeoutConfig().managementTimeout () in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    retryStrategy

    provides some control over how the SDK handles failures. Will default to retryStrategy() in the provided com.couchbase.client.scala.env.ClusterEnvironment.

  5. def dropPrimaryIndex(bucketName: String, ignoreIfNotExists: Boolean = false, timeout: Duration = DefaultTimeout, retryStrategy: RetryStrategy = DefaultRetryStrategy, scopeName: Option[String] = None, collectionName: Option[String] = None): Try[Unit]

    Drops an existing primary index.

    Drops an existing primary index.

    bucketName

    the bucket to remove the index from.

    ignoreIfNotExists

    sets whether the operation should fail if the index does not exists

    timeout

    when the operation will timeout. This will default to timeoutConfig().managementTimeout () in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    retryStrategy

    provides some control over how the SDK handles failures. Will default to retryStrategy() in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    scopeName

    if specified, this operation will work on a given com.couchbase.client.scala.Scope and com.couchbase.client.scala.Collection. If specified, collectionName must also be specified.

    collectionName

    if specified, this operation will work on a given com.couchbase.client.scala.Scope and com.couchbase.client.scala.Collection. If specified, scopeName must also be specified.

  6. implicit val ec: ExecutionContext
  7. def getAllIndexes(bucketName: String, timeout: Duration = DefaultTimeout, retryStrategy: RetryStrategy = DefaultRetryStrategy, scopeName: Option[String] = None, collectionName: Option[String] = None): Try[Seq[QueryIndex]]

    Gets all indexes.

    Gets all indexes.

    If only bucketName is provided, all indexes for that bucket will be fetched, for all scopes and collections. If bucketName and scopeName are provided, the indexes fetched will be all those on collections under that scope. If bucketName, scopeName and collectionName are provided, the indexes fetched will be on that specific collection.

    bucketName

    the bucket to get indexes on

    timeout

    when the operation will timeout. This will default to timeoutConfig().managementTimeout () in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    retryStrategy

    provides some control over how the SDK handles failures. Will default to retryStrategy() in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    scopeName

    if specified, the indexes fetched will be limited to those on collections under this com.couchbase.client.scala.Scope

    collectionName

    if specified, the indexes fetched will be limited to those on this specific com.couchbase.client.scala.Collection

  8. def watchIndexes(bucketName: String, indexNames: Iterable[String], timeout: Duration, watchPrimary: Boolean = false, retryStrategy: RetryStrategy = DefaultRetryStrategy, scopeName: Option[String] = None, collectionName: Option[String] = None): Try[Unit]

    Polls the specified indexes until they are all online.

    Polls the specified indexes until they are all online.

    bucketName

    the bucket to watch on

    indexNames

    the indexes to poll.

    timeout

    when the operation will timeout.

    watchPrimary

    include the bucket's primary index. If the bucket has no primary index, the operation will fail with IndexNotFoundException

    retryStrategy

    provides some control over how the SDK handles failures. Will default to retryStrategy() in the provided com.couchbase.client.scala.env.ClusterEnvironment.

    scopeName

    if specified, this operation will work on a given com.couchbase.client.scala.Scope and com.couchbase.client.scala.Collection. If specified, collectionName must also be specified.

    collectionName

    if specified, this operation will work on a given com.couchbase.client.scala.Scope and com.couchbase.client.scala.Collection. If specified, scopeName must also be specified.