We’re excited to announce that Platform.sh now offers OpenSearch as a service available and included on all plans. OpenSearch is a distributed RESTful search and analytics engine you can use for log analytics, a search backend, clickstream analytics, and more.
With the recent move by ElasticSearch to switch to a licensing model, it was important for us to propose a strong open source alternative. And OpenSearch is completely open source, so you could run and manage it on your own. But if you add it to a Platform.sh project as a service, all of the infrastructure is taken care of. All you have to take care of is your data: indexing it and retrieving it.
Add an OpenSearch service
With OpenSearch, you store your data in one or more indexes that collect the data into JSON documents. You can then retrieve it using the OpenSearch REST API or one of the clients for various frameworks.
Adding an OpenSearch service to your project requires defining it in two places: your service and app configuration. First, edit your project’s
.platform/services.yaml file to include a new service:
myopensearch: type: opensearch:1.2 disk: 256
Then edit the
.platform.app.yaml file for any app you want to interact with the service (In Python, Node.js, Ruby, or other). To set up a relationship that allows your application (in Python, Ruby, etc.) to access the Kafka service:
relationships: searchengine: "myopensearch:opensearch"
OpenSearch is built with a modular architecture. This means there are various features available that you can use if you want to, but that don’t take up resources if you don’t.
To extend your OpenSearch service, see how to add plugins to get the features you want.
Switching to OpenSearch
If you’re currently using an older Elasticsearch service, you can switch over to a new OpenSearch one. To do so, export your data from your current service and then import it into the new one.
See our OpenSearch service docs for more on the process of migrating between services.