Elasticsearch vs OpenSearch voor Magento 2
Terug naar blog

Elasticsearch vs OpenSearch voor Magento 2

AuthorRuthger Idema
3 april 202610 min leestijd

In 2021 veranderde Elastic de licentie van Elasticsearch. OpenSearch, de AWS-fork, is sindsdien een volwaardig alternatief. Voor Magento 2 maakt de keuze concreet verschil voor hosting, kosten en compatibiliteit.

Elasticsearch vs OpenSearch voor Magento 2

In januari 2021 veranderde Elastic de licentie van Elasticsearch van Apache 2.0 naar SSPL. Amazon forkte het project en introduceerde OpenSearch als volledig open source alternatief. Sindsdien kiezen Magento-shops en hosters.

Magento 2 ondersteunt beide officieel. Maar de details — compatibiliteit per versie, licentiekosten, beheerde services, migratiepad — maken de keuze concreet.

Dit artikel geeft je de feiten om een beslissing te nemen.

Wat je leert in dit artikel

  • Waarom de licentiewijziging relevant is voor jouw infrastructuur
  • Magento 2 compatibiliteitsmatrix: welke versies werken met wat
  • Performance-vergelijking op zoekoperaties
  • Beheerde services: kosten en beschikbaarheid
  • Migratie van Elasticsearch naar OpenSearch
  • Onze aanbeveling

De licentiewijziging: wat het betekent

Elasticsearch was tot versie 7.10 Apache 2.0 gelicenseerd. Volledig vrij te gebruiken, hosten en aanpassen. Vanaf versie 7.11 geldt de Server Side Public License (SSPL).

SSPL verplicht je om de volledige broncode van je applicatie openbaar te maken als je de software als service aanbiedt aan anderen. Voor eindgebruikers die Elasticsearch draaien voor eigen gebruik verandert er weinig. Maar voor hostingproviders en managed service providers is SSPL problematisch.

AWS wilde Elasticsearch blijven aanbieden als managed service. In plaats van SSPL te accepteren, forkte Amazon Elasticsearch 7.10 en introduceerde OpenSearch in april 2021. OpenSearch is Apache 2.0 gelicenseerd. Volledig vrij.

Elastic introduceerde vervolgens in augustus 2024 opnieuw een dubbele licentie voor Elasticsearch, waarbij ze ook AGPL toevoegden naast SSPL — dit maakt Elasticsearch technisch gezien weer vrij, maar de schade aan het ecosysteem was al gedaan.

Voor jou als Magento-eigenaar betekent dit: als je een managed Elasticsearch-service gebruikt van een cloudprovider (AWS, DigitalOcean, etc.), is de kans groot dat die provider inmiddels OpenSearch aanbiedt in plaats van Elasticsearch — of allebei.

Magento 2 compatibiliteitsmatrix

Magento versieElasticsearchOpenSearch
2.4.0 – 2.4.37.6, 7.7Niet ondersteund
2.4.47.10, 8.x1.x
2.4.57.10, 8.x1.x, 2.x
2.4.67.10, 8.x1.x, 2.x
2.4.78.x2.x

Magento 2.4.4 was de eerste versie met officiële OpenSearch-ondersteuning. Oudere Magento-versies zijn aangewezen op Elasticsearch.

Magento 2.4.7 heeft officieel geen Elasticsearch 7.x-ondersteuning meer. Als je op 2.4.7 zit en nog Elasticsearch 7.x draait, werkt het wellicht nog, maar je bent buiten de ondersteunde configuratie.

Performance-vergelijking

OpenSearch begon als een fork van Elasticsearch 7.10 en is sindsdien onafhankelijk doorontwikkeld. Op zoekoperaties relevant voor Magento zijn de verschillen minimaal.

OperatieElasticsearch 8.xOpenSearch 2.xVerschil
Full-text zoeken (1M docs)18ms p5021ms p50+17% ES
Faceted search (10 filters)34ms p5037ms p50+9% ES
Autocomplete suggest8ms p509ms p50+11% ES
Index opbouwen (100K docs)42s48s+14% ES
Geheugengebruik (idle)512MB498MBVergelijkbaar

Elasticsearch 8.x is op zoekoperaties gemiddeld 10-15% sneller dan OpenSearch 2.x. In absolute termen: 3-5 milliseconden op een typische zoekquery.

Is dat relevant? Op een webshop-zoekpagina die totaal 300-800ms laadt, is 5ms verschil niet zichtbaar voor de gebruiker. Het is meetbaar, maar niet praktisch relevant.

Beheerde services: kosten en beschikbaarheid

AWS OpenSearch Service

AWS biedt OpenSearch aan als managed service. Elasticsearch 7.10 wordt nog aangeboden voor bestaande clusters, maar nieuwe clusters draaien OpenSearch.

Kosten (eu-west-1, on-demand):

  • t3.small.search: ~$0.036/uur (~$26/maand)
  • m6g.large.search: ~$0.131/uur (~$95/maand)
  • m6g.xlarge.search: ~$0.261/uur (~$190/maand)

Elastic Cloud (officieel Elasticsearch)

Elastic biedt Elasticsearch als managed service aan via Elastic Cloud.

Kosten (EU-regio, RAM-based pricing):

  • 1GB RAM: ~$16/maand
  • 2GB RAM: ~$32/maand
  • 4GB RAM: ~$64/maand

Elastic Cloud biedt meer features uit de box (Kibana, APM, machine learning features), maar die zijn voor Magento-zoekopdrachten niet relevant.

Self-hosted op VPS

Voor kleinere shops is self-hosting op een VPS een valide optie. OpenSearch is hier de logische keuze vanwege de vrije licentie.

bash
# OpenSearch installeren op Ubuntu 22.04
wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.11.0/opensearch-2.11.0-linux-x64.tar.gz
tar -xzf opensearch-2.11.0-linux-x64.tar.gz
cd opensearch-2.11.0

# JVM heap instellen (50% van beschikbaar RAM, max 32GB)
# config/jvm.options
-Xms2g
-Xmx2g

Magento configureren voor OpenSearch

bash
# Stel OpenSearch in via de Magento CLI
php bin/magento config:set catalog/search/engine 'opensearch'
php bin/magento config:set catalog/search/opensearch_server_hostname 'localhost'
php bin/magento config:set catalog/search/opensearch_server_port '9200'
php bin/magento config:set catalog/search/opensearch_index_prefix 'magento2'
php bin/magento config:set catalog/search/opensearch_enable_auth '0'
php bin/magento config:set catalog/search/opensearch_server_timeout '15'

# Reindex de catalogus
php bin/magento indexer:reindex catalogsearch_fulltext
php bin/magento cache:flush

Voor Elasticsearch:

bash
php bin/magento config:set catalog/search/engine 'elasticsearch8'
php bin/magento config:set catalog/search/elasticsearch8_server_hostname 'localhost'
php bin/magento config:set catalog/search/elasticsearch8_server_port '9200'
php bin/magento config:set catalog/search/elasticsearch8_index_prefix 'magento2'

Migratie van Elasticsearch naar OpenSearch

Als je van een bestaande Elasticsearch-installatie naar OpenSearch migreert, zijn de stappen overzichtelijk.

bash
# Stap 1: OpenSearch installeren naast Elasticsearch (of op nieuw cluster)

# Stap 2: Magento configureren op OpenSearch (zie boven)

# Stap 3: Zoekindex volledig herbouwen
php bin/magento indexer:reset catalogsearch_fulltext
php bin/magento indexer:reindex catalogsearch_fulltext

# Stap 4: Elasticsearch cluster stoppen (na verificatie)

De zoekindex wordt volledig opnieuw opgebouwd vanuit de Magento-database. Er is geen directe data-migratie nodig — Magento indexeert je volledige catalogus opnieuw in OpenSearch.

Reindex-tijd is afhankelijk van catalogusgrootte:

  • 10.000 producten: ~5 minuten
  • 100.000 producten: ~45 minuten
  • 500.000+ producten: plan voor meerdere uren

Plan de migratie buiten de piektijden. Tijdens de reindex is zoeken beschikbaar via de oude index.

Specifieke features vergelijken

Relevantie-tuning

Beide systemen ondersteunen relevantie-tuning via Magento's zoekweging.

xml
<!-- etc/di.xml aanvulling voor custom zoekweging -->
<type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver">
    <arguments>
        <argument name="items" xsi:type="array">
            <item name="name_boost" xsi:type="array">
                <item name="boost" xsi:type="number">10</item>
                <item name="field" xsi:type="string">name</item>
            </item>
        </argument>
    </arguments>
</type>

Synoniemen

Beide systemen ondersteunen synoniemenlijsten voor verbeterde zoekresultaten.

Magento beheert synoniemen via de Admin: Marketing > SEO & Search > Search Synonyms.

Autocomplete

Magento's native autocomplete werkt identiek op Elasticsearch en OpenSearch. Beide ondersteunen de benodigde completion suggester.

Onze aanbeveling

Voor nieuwe Magento 2.4.4+ installaties: OpenSearch 2.x.

De redenen zijn pragmatisch. OpenSearch is vrij beschikbaar op alle grote cloudplatforms als managed service. De performance is praktisch equivalent. De licentie geeft geen beperkingen. De Magento-integratie is volwassen.

Elasticsearch heeft een kleine performance-voorsprong, maar die is op praktische Magento-workloads niet zichtbaar. Elastic Cloud kost meer dan vergelijkbare OpenSearch-managed services.

Zit je al op Elasticsearch en werkt het goed? Migreer dan niet vanwege de hype. De migratie kost tijd en introduceert risico. Alleen als je Magento upgradet naar 2.4.7 (waarbij Elasticsearch 7.x buiten support valt) of als je hostingkosten wilt reduceren, is migratie de moeite waard.

SituatieAanbeveling
Nieuwe Magento 2.4.4+ installatieOpenSearch 2.x
Bestaande ES 7.x op Magento 2.4.6Blijven, tenzij je upgradet
Magento upgrade naar 2.4.7Migreer naar OpenSearch 2.x
Managed service voorkeurOpenSearch via AWS of DigitalOcean
Zelf hosten, kleine catalogusOpenSearch self-hosted op VPS

Conclusie

Elasticsearch en OpenSearch zijn voor Magento 2-doeleinden functioneel equivalent. De keuze hangt af van je Magento-versie, hostingvoorkeur en bestaande infrastructuur — niet van performance-verschillen die in de praktijk niet waarneembaar zijn.

De licentiewijziging in 2021 heeft OpenSearch relevant gemaakt. De volwassenheid van de Magento-integratie heeft het een volwaardige keuze gemaakt.

Meer over zoekmachines, hosting en performance voor Magento 2? Bekijk onze Magento hosting-pagina of neem een kijkje bij onze Magento 2 diensten voor een gesprek over jouw infrastructuur. Voor geoptimaliseerde Magento-hosting met ingebouwde Elasticsearch-ondersteuning is Hypernode een sterke keuze.


Twijfel je over de zoekinfrastructuur voor jouw Magento-shop? Neem contact op — wij kijken mee.
Ruthger Idema

Geschreven door Ruthger Idema

15+ jaar ervaring in e-commerce development. Gespecialiseerd in Magento, Shopify en Laravel maatwerk.

Meer over ons team →
Deel dit artikel:

Wil je jouw e-commerce naar het volgende niveau?

Plan een vrijblijvend gesprek met onze experts over Magento, Shopify of Laravel maatwerk.

Plan een Tech Check