Class AnalyticsIndexManager


  • public class AnalyticsIndexManager
    extends Object
    Performs management operations on analytics indexes.
    • Method Detail

      • async

        public AsyncAnalyticsIndexManager async()
        Returns the async version of this index manager.
        Returns:
        the async version of this index manager.
      • reactive

        public ReactiveAnalyticsIndexManager reactive()
        Returns the reactive version of this index manager.
        Returns:
        the reactive version of this index manager.
      • createDataverse

        public void createDataverse​(String dataverseName)
        Creates a new dataverse (analytics scope) if it does not already exist.
        Parameters:
        dataverseName - the name of the dataverse to create.
        Throws:
        DataverseExistsException - if the dataverse already exists.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • createDataverse

        public void createDataverse​(String dataverseName,
                                    CreateDataverseAnalyticsOptions options)
        Creates a new dataverse (analytics scope) if it does not already exist with custom options.
        Parameters:
        dataverseName - the name of the dataverse to create.
        options - the custom options to apply.
        Throws:
        DataverseExistsException - if the dataverse already exists.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • dropDataverse

        public void dropDataverse​(String dataverseName)
        Drops (deletes) a dataverse.
        Parameters:
        dataverseName - the name of the dataverse to drop.
        Throws:
        DataverseNotFoundException - if the dataverse does not exist.
        CompilationFailureException - if a dataverse that cannot be dropped (i.e. Default) is attempted.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • getAllDataverses

        @Uncommitted
        public List<AnalyticsDataverse> getAllDataverses​(GetAllDataversesAnalyticsOptions options)
        Fetches all dataverses (analytics scopes) from the analytics service with custom options.
        Parameters:
        options - the custom options to apply.
        Returns:
        a (potentially empty) list of dataverses or failed with an error.
        Throws:
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • getAllDataverses

        @Uncommitted
        public List<AnalyticsDataverse> getAllDataverses()
        Fetches all dataverses (analytics scopes) from the analytics service.
        Returns:
        a (potentially empty) list of dataverses or failed with an error.
        Throws:
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • createDataset

        public void createDataset​(String datasetName,
                                  String bucketName)
        Creates a new dataset (analytics collection) if it does not already exist.
        Parameters:
        datasetName - the name of the dataset to create.
        bucketName - the name of the bucket where the dataset is stored inside.
        Throws:
        DatasetExistsException - if the dataset already exists.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • createDataset

        public void createDataset​(String datasetName,
                                  String bucketName,
                                  CreateDatasetAnalyticsOptions options)
        Creates a new dataset (analytics collection) if it does not already exist with custom options.
        Parameters:
        datasetName - the name of the dataset to create.
        bucketName - the name of the bucket where the dataset is stored inside.
        options - the custom options to apply.
        Throws:
        DatasetExistsException - if the dataset already exists.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • dropDataset

        public void dropDataset​(String datasetName)
        Drops (deletes) a dataset.
        Parameters:
        datasetName - the name of the dataset to create.
        Throws:
        DatasetNotFoundException - if the dataset to drop does not exist.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • dropDataset

        public void dropDataset​(String datasetName,
                                DropDatasetAnalyticsOptions options)
        Drops (deletes) a dataset with custom options.
        Parameters:
        datasetName - the name of the dataset to create.
        options - the custom options to apply.
        Throws:
        DatasetNotFoundException - if the dataset to drop does not exist.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • getAllDatasets

        public List<AnalyticsDataset> getAllDatasets()
        Fetches all datasets (analytics collections) from the analytics service.
        Returns:
        a (potentially empty) list of datasets or failed with an error.
        Throws:
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • getAllDatasets

        public List<AnalyticsDataset> getAllDatasets​(GetAllDatasetsAnalyticsOptions options)
        Fetches all datasets (analytics collections) from the analytics service with custom options.
        Parameters:
        options - the custom options to apply.
        Returns:
        a (potentially empty) list of datasets or failed with an error.
        Throws:
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • createIndex

        public void createIndex​(String indexName,
                                String datasetName,
                                Map<String,​AnalyticsDataType> fields)
        Creates a new analytics index if it does not exist.
        Parameters:
        indexName - the name of the index to create.
        datasetName - the name of the dataset in which the index should be created.
        fields - the fields that should be indexed.
        Throws:
        IndexExistsException - if the index already exists and not ignored in the options.
        DataverseNotFoundException - if a dataverse is provided in the options that does not exist.
        DatasetNotFoundException - if a dataset is provided which does not exist.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • createIndex

        public void createIndex​(String indexName,
                                String datasetName,
                                Map<String,​AnalyticsDataType> fields,
                                CreateIndexAnalyticsOptions options)
        Creates a new analytics index if it does not exist with custom options.
        Parameters:
        indexName - the name of the index to create.
        datasetName - the name of the dataset in which the index should be created.
        fields - the fields that should be indexed.
        options - the custom options to apply.
        Throws:
        IndexExistsException - if the index already exists and not ignored in the options.
        DataverseNotFoundException - if a dataverse is provided in the options that does not exist.
        DatasetNotFoundException - if a dataset is provided which does not exist.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • dropIndex

        public void dropIndex​(String indexName,
                              String datasetName)
        Drops (removes) an index if it exists.
        Parameters:
        indexName - the name of the index to drop.
        datasetName - the dataset in which the index exists.
        Throws:
        IndexNotFoundException - if the index does not exist and not ignored via options.
        DataverseNotFoundException - if a dataverse is provided in the options that does not exist.
        DatasetNotFoundException - if a dataset is provided which does not exist.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • dropIndex

        public void dropIndex​(String indexName,
                              String datasetName,
                              DropIndexAnalyticsOptions options)
        Drops (removes) an index if it exists with custom options.
        Parameters:
        indexName - the name of the index to drop.
        datasetName - the dataset in which the index exists.
        options - the custom options to apply.
        Throws:
        IndexNotFoundException - if the index does not exist and not ignored via options.
        DataverseNotFoundException - if a dataverse is provided in the options that does not exist.
        DatasetNotFoundException - if a dataset is provided which does not exist.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • getAllIndexes

        public List<AnalyticsIndex> getAllIndexes()
        Lists all analytics indexes.
        Returns:
        a list of indexes or failed with an error.
        Throws:
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • getAllIndexes

        public List<AnalyticsIndex> getAllIndexes​(GetAllIndexesAnalyticsOptions options)
        Lists all analytics indexes with custom options.
        Parameters:
        options - the custom options to apply.
        Returns:
        a (potentially empty) list of indexes or failed with an error.
        Throws:
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • connectLink

        public void connectLink()
        Connects the analytics link for the default dataverse (Default.Local).
        Throws:
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • disconnectLink

        public void disconnectLink()
        Disconnects the analytics link for the default dataverse (Default.Local).
        Throws:
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • getPendingMutations

        public Map<String,​Map<String,​Long>> getPendingMutations()
        Returns the pending mutations for different dataverses.
        Returns:
        the pending mutations or failed with an error.
        Throws:
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • getPendingMutations

        public Map<String,​Map<String,​Long>> getPendingMutations​(GetPendingMutationsAnalyticsOptions options)
        Returns the pending mutations for different dataverses with custom options.
        Parameters:
        options - the custom options to apply.
        Returns:
        the pending mutations or failed with an error.
        Throws:
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • dropLink

        public void dropLink​(String linkName,
                             String dataverse)
        Drops (removes) a link if it exists.
        Parameters:
        linkName - the name of the link that should be dropped.
        dataverse - the name of the dataverse in which the link exists.
        Throws:
        LinkNotFoundException - if the link does not exist.
        DataverseNotFoundException - if a dataverse is provided that does not exist.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • dropLink

        public void dropLink​(String linkName,
                             String dataverse,
                             DropLinkAnalyticsOptions options)
        Drops (removes) a link if it exists with custom options.
        Parameters:
        linkName - the name of the link that should be dropped.
        dataverse - the name of the dataverse in which the link exists.
        options - the custom options to apply.
        Throws:
        LinkNotFoundException - if the link does not exist.
        DataverseNotFoundException - if a dataverse is provided that does not exist.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • getLinks

        public List<AnalyticsLink> getLinks()
        Returns a (potentially empty) list of current analytics links.

        Links describe connections between an external data source and the analytics engine. Note that AnalyticsLink is an abstract class and has implementations depending on the type of link configured. See and cast into S3ExternalAnalyticsLink, or CouchbaseRemoteAnalyticsLink for specific attributes. In the future, more external link types might be supported - please consult the server documentation for more information.

        Returns:
        a (potentially empty) list of links or failed with an error.
        Throws:
        DataverseNotFoundException - if a dataverse is provided in the options that does not exist.
        CouchbaseException - if any other generic unhandled/unexpected errors.
      • getLinks

        public List<AnalyticsLink> getLinks​(GetLinksAnalyticsOptions options)
        Returns a (potentially empty) list of current analytics links with custom options.

        Links describe connections between an external data source and the analytics engine. Note that AnalyticsLink is an abstract class and has implementations depending on the type of link configured. See and cast into S3ExternalAnalyticsLink, or CouchbaseRemoteAnalyticsLink for specific attributes. In the future, more external link types might be supported - please consult the server documentation for more information.

        Parameters:
        options - the custom options to apply.
        Returns:
        a (potentially empty) list of links or failed with an error.
        Throws:
        DataverseNotFoundException - if a dataverse is provided in the options that does not exist.
        CouchbaseException - if any other generic unhandled/unexpected errors.