Hoe werkt Sphinx Search voor Magento 1?

Sphinx vervangt de standaard Magento zoekmachine. De voordelen van Sphinx Search:

  • Het is aanzienlijk sneller dan de Magento zoekmachine.
  • Het geeft betere resultaten.
  • Het kan werken met synoniemen.

Hoe werkt Sphinx Search?

Sphinx is een aparte zoekmachine die los staat van Magento. Magento schiet een woord of woordgroep in bij deze zoekmachine en krijgt vervolgens de juiste zoekresultaten terug.

Om te kunnen zoeken bouwt Sphinx een zogenaamde 'index' op. Dit is een grote database, waarin alle onderdelen van je shop staan waarop gezocht moet kunnen worden, zoals product namen en product beschrijvingen.

Het vullen van deze index is een zware taak, die belastend is voor je shop. Daarom wordt de index elke nacht een keer gedraaid. Gedurende de dag wordt de index op gezette tijden bijgewerkt met nieuwe en gewijzigde producten. Als je iets wijzigt dan verschijnt dit dus niet direct in de zoekresultaten.

Index instellen

Voor gebruik moet je als eerste de index instellen. De index vertelt aan Sphinx op welke onderdelen het moet zoeken. Dit doe je in het admin panel onder Zoeken › Manage Search Indexes.

  • Klik op 'Nieuwe toevoegen'.
  • Kies voor welk onderdeel je een index wilt maken. Als je kiest voor 'Catalog products' dan zal Sphinx bijvoorbeeld de producten in je shop toevoegen aan de Sphinx index.
  • Geef de index een titel en een positie (0 betekent dat Sphinx als eerste in deze index zoekt) en zet de index op 'actief'
  • Klik op 'Sla op en ga verder met bewerken'
  • Klik op 'Add attribute' om een onderdeel van je product op te geven waar Sphinx op moet zoeken binnen je producten. Kies vervolgens het attribuut en geef het een gewicht. Typische attributen om op te zoeken zijn: 'name', 'short_description', 'category_name' en 'sku'.
  • Stel 'Search by parent categories names' in op 'Ja' als je wilt dat een product ook gevonden wordt als een bezoeker de naam typt van de categorie boven de categorie van het product.
  • Stel 'Search by child products attributes' in op 'Ja' als je bijvoorbeeld configurable producten hebt, en je wilt dat die producten ook kunnen worden gevonden op de configuratie van het kind product. Voorbeeld: als je shop een configurabel product 'broek' bevat in 5 maten en je wilt dat de broek gevonden wordt als de bezoeker 'XL' in het zoekvak typt.
  • 'Search by product tags' kun je altijd op 'Nee' instellen. Dit is uit de tijd dat tags nog werden gebruikt.
  • 'Search by product id' is vrijwel nooit interessant. Je vindt dan producten op hun Magento id (niet te verwarren met sku).
  • Push 'out of stock' products to the end kun je beter op 'Nee' laten staan, om te voorkomen dat out of stock producten worden gevonden.

Zoeken op hele woorden of gedeeltes van een woord

  • Ga naar Zoeken › Instellingen.
  • Kies de gewenste optie bij 'Enable wildcard search':
    • Enabled (*word*): als je zoekt op 'bak' dan vind je 'bak', 'gebak' en 'bakker'
    • Enabled (word*): als je zoekt op 'bak' dan vind je 'bak' en 'bakker', maar geen 'gebak'
    • Enabled (*word): als je zoekt op 'bak' dan vind je 'bak' en 'gebak', maar geen 'bakker'
    • Disabled: als je zoekt op 'bak' dan vind je 'bak', maar geen 'gebak' of 'bakker'

Synoniemen

Je kunt aan Sphinx Search synoniemen toevoegen, om zoekacties met spelfouten, andere spelling of alternatieve woordkeuze toch de juiste zoekresultaten te laten zien.

  • Ga in het admin panel naar Zoeken › Dictionary of synonyms
  • Klik op 'Nieuwe toevoegen'
  • Voeg de synoniemen komma gescheiden toe.

Voorbeeld:

  • Ik heb in mijn shop zilveren producten.
  • Ik zie in Zoeken › Zoektermen dat bezoekers niet alleen zoeken op 'zilveren', maar ook op 'zilver' en 'silver' - en dat ze dan 0 resultaten zien. Logisch, als ik in de productbeschrijving alleen het woord 'zilveren' gebruik.
  • Ik voeg 'zilver,zilveren,silver' toe aan de lijst met synoniemen. Vanaf nu vindt een bezoeker ook producten met 'zilveren' en 'silver' als hij zoekt op 'zilver'. Ook vindt hij producten met 'zilver' en 'zilveren' als hij zoekt op 'silver'.
  • Als ik zie dat 'zilver' door bezoekers regelmatig wordt gespeld als 'zilvr' dan kan ik de synoniemenlijst uitbreiden: 'zilver,zilveren,silver,zilvr'.

Let op:

  • Synoniemen mogen geen spatie bevatten.
  • Kijk uit met leestekens in een woord, zoals aanhalingstekens. Deze kunnen ervoor zorgen dat de synoniemen niet worden herkend.

Een uitgebreide (Engelstalige) handleiding van Sphinx Search vindt je op: https://docs.mirasvit.com/doc/extension_searchultimate/current/

Woorden vervangen

Als je toch worden met een spatie of andere 'vreemde' leestekens als synoniem wilt gebruiken, dan kun je dit als volgt doen:

  • Ga naar Zoeken › Instellingen.
  • Ga naar 'Replace words in search query' en klik op toevoegen.
  • Type het woord dat je wil vervangen en daarna het woord waardoor je het wil vervangen.

Voorbeeld

  • Je wilt dat mensen kunnen zoeken op 'feest jurk', maar je gebruikt zelf de spelling 'feestjurk'.
  • Typ in Find words 'feest jurk' en in Replace by word 'feestjurk'
  • Als een bezoeker nu 'feest jurk' typt dan vervangt Magento dat woord door 'feestjurk' voordat het het woord naar Sphinx Search stuurt.

Index opnieuw opbouwen

  • Ga naar Zoeken › Instellingen.
  • Klik op 'Run Full Reindex'.
  • Let op: klik NIET op 'Stop Sphinx daemon'

Zoekresultaten controleren

  • Ga naar Zoeken › Search Validation.

Controleren op welke worden is gezocht

  • Ga naar Zoeken › Zoektermen
  • Sorteer op een kolom door op de kolomkop te klikken. Klik nog een keer om de andere kant op te sorteren.

Om de meest gezochte zoekwoorden te vinden zonder resultaat:

  • Klik op 'Populariteit' totdat de meest gezocht woorden bovenaan staan.
  • Vul Van '0' Tot '0' in bij Number of results.
  • Klik op zoeken.

Zoekresultaten gebruiken als landingspagina

Met Sphinx Search kun je eenvoudig een landingspagina van producten maken op basis van een zoekterm. Zo'n landingspagina heeft een eigen URL, maar ook een eigen meta title, meta description. Echte die-hards kunnen zelfs de lay-out aanpassen (daarvoor moet je dan wel weten hoe de Magento layout XML werkt).

Voorbeeld:

  • Ga naar Zoeken › Manage landing pages
  • Klik op 'Nieuwe toevoegen'
  • 'Search Phrase': vul hier de term in waarop Sphinx Search moet zoeken, bijvoorbeeld 'bikini groen'.
  • 'Landing Url': de url naar de landingspagina, bijvoorbeeld 'groene-bikinis'
  • 'Titel': vul hier de titel in die boven de producten moet komen staan.
  • 'Meta Title': vul hier de meta titel in, voor Google.
  • 'Meta-omschrijving': vul hier de meta description in, voor Google.
  • 'Lay-out': hier kun je wijzigingen maken in de layout, opgemaakt in Magento layout XML.

Een voorbeeld van Magento layout XML:

<reference name="root">
    <action method="setTemplate">
        <template>page/1column.phtml</template>
    </action>
</reference>

Andere instellingen

  • Ga naar Zoeken › Instellingen.
    • 'Display Related Search Terms': deze toont gerelateerde zoekwoorden in de zoekresultaten, zoals de synoniemen die we zelf hebben toegevoegd. Vaak wil je deze niet tonen, want dan toon je ook alle ingevoerde spelfouten.
    • 'Enable redirect from 404 to search results': als een bezoeker op een 404 pagina komt, bijvoorbeeld een product dat niet meer bestaat, dan pakt Magento de url en gebruikt die url als zoekterm.

⊕ Gepost door Joost van Veen

Ontvang elke maand onze tips & trucs in je mailbox.