This version of the OpenSearch documentation is no longer maintained. For the latest version, see the current documentation. For information about OpenSearch version maintenance, see Release Schedule and Maintenance Policy.
ML Commons plugin
ML Commons for OpenSearch eases the development of machine learning features by providing a set of common machine learning (ML) algorithms through transport and REST API calls. Those calls choose the right nodes and resources for each ML request and monitors ML tasks to ensure uptime. This allows you to leverage existing open-source ML algorithms and reduce the effort required to develop new ML features.
Interaction with the ML Commons plugin occurs through either the REST API or
kmeans Piped Processing Language (PPL) commands.
Models trained through the ML Commons plugin support model-based algorithms such as kmeans. After you’ve trained a model enough so that it meets your precision requirements, you can apply the model to predict new data safely.
Should you not want to use a model, you can use the Train and Predict API to test your model without having to evaluate the model’s performance.
There are two reserved user roles that can use of the ML Commons plugin.
ml_full_access: Full access to all ML features, including starting new ML tasks and reading or deleting models.
ml_readonly_access: Can only read ML tasks, trained models and statistics relevant to the model’s cluster. Cannot start nor delete ML tasks or models.
To prevent your cluster from failing when running ML tasks, you configure a node with the
ml node role. When configuring without the
data node role, ML nodes will not store any shards and will calculate resource requirements at runtime. To use an ML node, create a node in your
opensearch.yml file. Give your node a custom name and define the node role as
node.name: ml-node node.roles: [ ml ]