Magefinder – die bessere Suche für Magento (Teil 3)

Die Seite von Magefinder ist komplett in Amazon Webservice abgebildet. Um die Indexierung und Suche im Magento Modul möglichst einfach zu gestalten, war es notwendig einen API Layer vor CloudSearch zu schalten.

Wenn ein Shopbetreiber einen Account eröffnet, passiert folgendes:

  • Es wird der Api-Key und Api-Secret erstellt
  • Es werden 2 Subdomains in Route53 angelegt und mit dem jeweiligen Loadbalancer für Such- und Indexierungsanfragen verknüpft
    doc-[api-key].eu-west-1.api.magefinder.com
    search-[api-key].eu-west-1.api.magefinder.com
  • Es wird dem Api Key eine verfügbare CloudSearch Instanz zugeordnet

Alle diese Schritte werden in der Amazon Cloud on-demand per API-Requests erledigt und die Daten dem Kunden sofort verfügbar gemacht. Somit ist ein aufwendiges Set-Up nicht notwendig.

Die beiden Endpoints für Suche und Indexierung werden als Stack an EC2 Instanzen hinter einem Loadbalancer verfügbar gehalten und haben unterschiedliche Anforderungen. Während der Such-Endpoint eine niedrige Latenz bzw. hohe Verfügbarkeit benötigt und für die Verarbeitung von vielen Requests in kurzer Zeit geschaffen sein muss, braucht der Indexierungs-Endpoint die Eigenschaft größere Datenmengen aufnehmen zu können.

Die EC2 Instanzen bieten weiters noch den Vorteil, vor der Indexierung bzw. Suchanfrage die Daten so aufzubereiten, dass ein optimales Ergebnis geliefert werden kann. Dies beinhaltet gerade die Erstellung der Suchanfrage mit der Kombination der richtigen “boolean Queries”. Aber auch zukünftige Themen wie unscharfe Suche und Fehlertoleranz sind dadurch möglich.

Die Cloudsearch Instanzen werden komplett ohne Voreinstellung ausgeliefert. Somit sind weder Textoptionen noch Gewichtungen vorhanden. Magefinder ist in der ersten Phase speziell für die deutsche Sprache konfiguriert und hat neben einer Stopword-Liste und einer Synonymliste auch ein deutsches Stemming-Wörterbuch von über 35.000 Begriffen.

Was macht Cloudsearch besser als die Datenbanksuche

  • die Suche ist auch in großen Produktbeständen sehr schnell (< 10ms für die Suche)
  • Wörter werden unabhängig ihrer Reihenfolge gefunden
  • Cloudsearch errechnet eine Textrelevanz aufgrund der Häufigkeit der gefundenen Wörter im Vergleich zum gesamten Wortbestand
  • die Attribute werden in eigene Felder getrennt und untereinander gewichtet, was wieder die Trefferrelevanz verbessert

Was macht CloudSearch besser als Solr, Sphinx oder änliches

Ich kann nicht behaupten, dass CloudSearch besser wäre als die oben genannten Services. Im Grunde ist es Magefinder, das einen Vorteil gegenüber anderen Services bietet.

  • einfache Einrichtung mit wenig Zeitaufwand
  • kein eigener Server zu managen (Verfügbarkeit, Skalierung, etc)
  • umfassende Volltextsuche zu leistbaren Konditionen (coming soon)
  • automatische Skalierung – Magefinder wächst mit dem Shop mit
  • keine versteckten Kosten für Einrichtung oder Wartung
  • deutscher Sprachsupport
  • super schnelle Antwortzeiten durch die Amazon Cloud

Wer nun interessiert ist Magefinder selber zu testen, kann gerne hier einen Demo-Account eröffnen. Zur Zeit ist Magefinder noch im Closed Beta, wird aber seine Türen bald für alle öffnen. Wie gut die Performance von Magefinder ist, wird im nächsten Teil erklärt.

Die Kommentarfunktion ist geschlossen.