Can I use elasticsearch/opensearch in community edition?

For now I’m planning to use Shopware for free, with community edition for a startup project.

In the dev documentation I read about using Elasticsearch/Opensearch and started setting it up according to the docs. However, at the same time I see in the docs that:

To configure which fields and elements are searchable when using Elasticsearch, you must install the extension Advanced Search.

And seeing that:
The Advanced Search is available to you as an extension of the Shopware Evolve plan.

I’m not sure therefore, what is included in the Community/free plan, is opensearch included at all, and only configuring special/custom fields is part of the Evolve plan, or the whole Elasticsearch belongs to paid plans only?

Started thinking also as although I followed instructions to setup ES, I’m getting:

No alive nodes found in your cluster

For Shopware 6.4.20.x currently only elasticsearch 7 seems to be working properly.
For 6.5.0 neither elasticsearch nor opensearch ran successfully in my setup

Make sure to setup your .env properly:

SHOPWARE_ES_HOSTS=elasticsearch:9200
OPENSEARCH_URL=elasticsearch:9200
SHOPWARE_ES_ENABLED=1
SHOPWARE_ES_INDEXING_ENABLED=1
SHOPWARE_ES_INDEX_PREFIX=apcsw6
SHOPWARE_ES_THROW_EXCEPTION=1 # this prevents querying the DB as fallback
ADMIN_OPENSEARCH_URL=elasticsearch:9200
SHOPWARE_ADMIN_ES_ENABLED=1
SHOPWARE_ADMIN_ES_REFRESH_INDICES=1
SHOPWARE_ADMIN_ES_INDEX_PREFIX=sw6_admin
bin/console es:admin:index
bin/console es:index

For using OpenSearch in SW 6.5.x you need the following additional line in your .env (or .env.local):

ES_MULTILINGUAL_INDEX=1

This just fixed several things for me:

  • indexes for product_manufacturer and category were missing, now they are created
  • in admin > settings > seach, I now get additional features for configuring Advanced Search
  • in frontend, the search is now working. Previously I got an elasticsearch.CRITICAL index_not_found_exception: no such index [myprefix_product]
1 Like

Getting back to this very late; thank you both for the valuable input.
I managed to finally set the environment up with AWS / Amazon OpenSearch service (if someone needs info about the AWS settings and configuring security, I’m happy to help).

I have two more additions:
After running es:index and es:admin:index I was still getting errors about indexes not found; running bin/console es:create:alias solved it finally.

Another interesting thing is that when I finally managed to set up the OpenSearch connection, I was getting a MySQL error when trying to run the indexes. It turned out that two tables: admin_elasticsearch_index_task and elasticsearch_index_task were not created with my latest installation, based on Shopware 6.5.8.7. However, I found those tables in a database instance from an earlier version and copied those over.
Not sure why those tables are missing or if an additional component or migration should be run.

  • in admin > settings > seach, I now get additional features for configuring Advanced Search

Did you install this in community edition? Did you need to install something separately to see Advanced Search configuration? For me it’s still not visible in the admin.

Yes, in the community edition, but with an (older) Diamond license.

I uninstalled the old SwagEnterpriseSearchPlatform plugin, which was required in v6.4.x. For v6.5.x I installed the SwagCommercial plugin, which is required for activating any feature for which you need a license. Elastic/OpenSearch is available from the Evolve license upwards, and for some of the older licenses.

Thanks for the clarification.
So at the current point it seems that I can have OpenSearch running in the community edition, but don’t have a tool to configure it :slight_smile: (unless I figure out how to do it manually).
But maybe the default configuration would do it, I’m still just experimenting/setting up my first webshop.