Alle handleidingen
GevorderdMagento 2.4.x40 minuten

Elasticsearch configureren voor Magento 2 zoekfunctie

Stel Elasticsearch in voor betere zoekresultaten. Van basis configuratie tot synonymen en stopwoorden.

Coding.nl5 views
Elasticsearch configureren voor Magento 2 zoekfunctie

Elasticsearch in Magento 2

Sinds Magento 2.4 is Elasticsearch (of OpenSearch) verplicht voor de zoekfunctie.

Waarom Elasticsearch?

Voordelen boven MySQL search

  • Veel snellere zoekresultaten
  • Betere relevantie
  • Fuzzy matching (typefouten)
  • Faceted search support
  • Schaalbaarheid

Vereisten

  • Elasticsearch 7.x of 8.x
  • Of OpenSearch 1.x/2.x
  • Java runtime op server

Basis configuratie

Navigatie

Stores > Configuration > Catalog > Catalog > Catalog Search

Verbinding instellen

  • Search Engine: Elasticsearch 7 (of OpenSearch)
  • Elasticsearch Server Hostname: localhost (of IP)
  • Elasticsearch Server Port: 9200
  • Elasticsearch Index Prefix: magento2
  • Enable Elasticsearch HTTP Auth: No (of Yes met credentials)
  • Sla op
  • Verbinding testen

    ``bash

    curl -X GET "localhost:9200"

    `

    Moet cluster info retourneren.

    Index configuratie

    Index aanmaken

    Na configuratie, reindex de catalogus:

    `bash

    bin/magento indexer:reindex catalogsearch_fulltext

    `

    Index prefix

    De prefix voorkomt conflicten als meerdere Magento installaties dezelfde Elasticsearch gebruiken:

    • magento2_product_1_v1
    • magento2_product_2_v1

    Search attributen configureren

    Attribuut searchable maken

  • Stores > Attributes > Product
  • Open attribuut
  • Storefront Properties:
  • - Use in Search: Yes

    - Search Weight: 1-10

    Search Weight

    Hogere weight = meer invloed op relevantie:

    • 10: Heel belangrijk (name, sku)
    • 5: Gemiddeld (description)
    • 1: Laag (meta keywords)

    Aanbevolen weights

    `

    name: 10

    sku: 10

    short_description: 5

    description: 3

    manufacturer: 5

    meta_keywords: 1

    `

    Zoekgedrag configureren

    Minimum zoeklengte

    Stores > Configuration > Catalog > Catalog > Catalog Search

    • Minimal Query Length: 3

    Maximum zoektermen

    • Maximum Query Length: 128

    Zoeksuggesties

    • Enable Search Suggestions: Yes
    • Search Suggestions Count: 5
    • Show Results Count: Yes

    Synonymen configureren

    Waarom synonymen?

    Klanten zoeken met verschillende termen:

    • "broek" en "pants"
    • "telefoon" en "smartphone"

    Navigatie

    Marketing > SEO & Search > Search Synonyms

    Synonymen toevoegen

  • Klik New Synonym Group
  • Scope: Store View
  • Synonyms: "broek,pants,pantalon"
  • Sla op
  • Herindexeren

    Na synonymen wijzigingen:

    `bash

    bin/magento indexer:reindex catalogsearch_fulltext

    `

    Stopwoorden

    Wat zijn stopwoorden?

    Woorden die worden genegeerd in zoekopdrachten:

    • de, het, een
    • the, a, an
    • en, of, maar

    Configuratie locatie

    Stopwoorden worden op Elasticsearch niveau geconfigureerd, niet in Magento admin.

    Custom analyzer

    Voor geavanceerde stopwoord configuratie, pas Elasticsearch analyzer aan.

    Search suggestions

    Popup suggestions

    Terwijl je typt verschijnen suggesties:

    • Product namen
    • Categorie namen
    • Eerder gezochte termen

    Configuratie

    Stores > Configuration > Catalog > Catalog > Catalog Search

    • Enable Search Suggestions: Yes
    • Search Suggestions Count: 5

    Popular search terms

    Navigatie

    Marketing > SEO & Search > Search Terms

    Beheer

    • Zie populaire zoektermen
    • Redirect zoekterm naar specifieke URL
    • Synonymen toevoegen

    Redirect voorbeeld

    Zoekterm "aanbieding" → Redirect naar /sale pagina

    Performance optimalisatie

    Index settings

    Elasticsearch index settings kunnen worden getuned:

    • Number of shards
    • Number of replicas
    • Refresh interval

    Voor grote catalogi

    • Verhoog JVM heap size
    • Meerdere nodes voor high availability
    • SSD storage

    Monitoring

    Monitor Elasticsearch:

    `bash

    curl -X GET "localhost:9200/_cluster/health?pretty"

    curl -X GET "localhost:9200/_cat/indices?v"

    `

    Troubleshooting

    Zoeken werkt niet

  • Check Elasticsearch draait:
  • `bash

    curl localhost:9200

    `

  • Check Magento configuratie
  • Reindex catalogsearch:
  • `bash

    bin/magento indexer:reindex catalogsearch_fulltext

    `

    Zoekresultaten incorrect

  • Check search weights
  • Verifieer attributen "Use in Search" = Yes
  • Check synonymen
  • Reindex
  • Connection refused

    • Elasticsearch service niet gestart
    • Firewall blokkeert poort 9200
    • Verkeerd hostname/IP

    Out of memory

    Elasticsearch JVM needs meer memory:

    `bash

    # In elasticsearch.yml of jvm.options

    -Xms2g

    -Xmx2g

    ``

    OpenSearch vs Elasticsearch

    Waarom OpenSearch?

    Amazon fork van Elasticsearch, volledig compatible met Magento.

    Configuratie

    Vrijwel identiek aan Elasticsearch. Selecteer "OpenSearch" als search engine.

    Hosting overwegingen

    • AWS: OpenSearch Service
    • Andere clouds: Elastic Cloud of self-hosted

    Best practices

    Regelmatig herindexeren

    Na grote catalogus wijzigingen, herindexeer voor optimale performance.

    Monitor search logs

    Analyseer wat klanten zoeken:

    • Geen resultaten queries → Voeg synonymen toe
    • Populaire termen → Optimaliseer die pagina's

    Test zoekresultaten

    Regelmatig testen:

    • Vinden klanten producten?
    • Zijn resultaten relevant?
    • Werken synonymen?

    Backup index

    Elasticsearch data apart backuppen of kunnen herindexeren vanuit Magento.

    Deel deze handleiding:

    Info

    Niveau
    Gevorderd
    Duur
    40 minuten
    Magento
    2.4.x
    PHP
    8.1+
    Views
    5

    Vereisten

    • Toegang tot Magento 2 admin panel
    • Server toegang
    • Elasticsearch geïnstalleerd

    Wat je leert

    • Elasticsearch verbinding configureren
    • Search weight en relevantie
    • Synonymen en stopwoorden
    • Search suggestions instellen

    Categorieën

    Hulp nodig?

    Kom je er niet uit? Onze Magento experts helpen je graag.

    Neem contact op

    Professionele hulp nodig bij Magento?

    Onze Magento experts bouwen, optimaliseren en onderhouden je webshop.