Wat is Elasticsearch en hoe gebruik ik het?

Met Elasticsearch kun je razendsnel en krachtig grote hoeveelheden data doorzoeken, analyseren en weergeven. In een appartement in London, zoekend naar een baan, werd de eerste versie geschreven door de Israëlische Shay Banon. Bedoeld voor zijn vrouw, wie kok wilde worden en daarom iets nodig had om haar toenemende kennis over eten te kunnen bijhouden…

Elastic search

Met Elasticsearch kun je razendsnel en krachtig grote hoeveelheden data doorzoeken, analyseren en weergeven.

In een appartement in London, zoekend naar een baan, werd de eerste versie geschreven door de Israëlische Shay Banon. Bedoeld voor zijn vrouw, wie kok wilde worden en daarom iets nodig had om haar toenemende kennis over eten te kunnen bijhouden en doorzoeken. Het project groeide. Om het te ondersteunen richtte Banon in 2012 een bedrijf op met onder andere de Nederlandse Steven Schuurman. Drie jaar later kwam het bedrijf bekend te staan als Elastic BV.

 

Wat is Elasticsearch

Elasticsearch is een open source oplossing die, kort gezegd, vooral gebruikt wordt om snel grote hoeveelheden data te kunnen doorzoeken en analyseren.

En even voor de programmeurs onder ons: Elasticsearch, geschreven in JAVA, biedt een vrij te kiezen documentstructuur gebaseerd op het gegevensformaat JSON en een HTTP webinterface aan. Het kan zelfs omgaan met onzekere data. Tot slot wordt het aangeboden onder de Apache Licentie.

Het systeem is een groot succes. De populariteit van het product steeg. DB-engines, een website die de populariteit van databases bijhoudt, benoemd Elasticsearch tot de meest gebruikte zoekmachine ter wereld. Enkele welbekende organisaties als Uber en Netflix maken gebruik van het systeem. Zo’n succes zelfs dat sinds vrijdag 5 oktober 2018 het aandeel Elastic verhandeld wordt op de New York Stock Exchange.

Hoe is Elasticsearch te gebruiken?

Elasticsearch is enorm veelzijdig. Toch is het zo gemaakt dat het voor ons ontwikkelaars snel is op te zetten en aan te passen naar de wensen van een project. Elasticsearch draait in een eigen omgeving op de server, hierdoor bouwt het daar zijn eigen indexen op (databases). In Shopware wordt de data opgeslagen in de MySQL database. Deze data wordt door Elasticsearch geïndexeerd. Dit houdt in dat de zoekmachine bestaande webpagina’s opnemen in hun eigen database, zodat ze deze enorm snel aan bezoekers kunnen laten zien. Dit maakt het dus voor Elasticsearch mogelijk om data razendsnel op te kunnen vragen en te tonen. Tot slot is het via een RESTful_API mogelijk om met Elasticsearch te communiceren.

Waarom Elasticsearch gebruiken?

Elasticsearch is erg snel en krachtig, echter wordt het niet voor ieder project gebruikt waar een zoekfunctie in zit. Vele websites voldoen namelijk met een eenvoudige zoekfunctionaliteit. Maar wanneer er enorm veel data aan de pas komt, komt Elastisch om de hoek kijken. Een goed voorbeeld hiervan in Shopware is bijvoorbeeld bij een webshop met een enorme hoeveelheid aan producten waar ook nog eens een boel productgegevens bij toebehoren. Maar ook wanneer er prioriteit of een filter op eigenschappen in de zoekresultaten toegekend moet kunnen worden.

De meest gebruikte zoekmachine ter wereld wordt je natuurlijk niet zomaar. Daarom enkele belangrijke functionaliteiten en mogelijkheden van Elasticsearch op een rij:

  • Het is ten eerste onwijs snel en krachtig.
  • Het is open source, dit betekent dat programmeurs zelf toevoegingen of verbeteringen kunnen aanbrengen. Dit maakt het bijvoorbeeld eenvoudig voor het gebruik van verschillende add-ons.
  • De performance kan makkelijk worden opgeschroefd.
  • Door de enorme snelheid en de manier waarop het omgaat met complexe datarelaties en structuren, is het systeem heel goed in het analyseren van gegevens om deze vervolgens om te zetten in interessante informatie.
  • Elasticsearch geeft een score mee. Dit maakt het filteren op meta-gegevens makkelijk opvraagbaar en eenvoudig in gebruik.
  • ‘Highlighting’ biedt de functie om inhoud van bepaalde velden ‘gehighlight’ terug te geven middels een html tag. Welke vervolgens opgenomen kan worden in je stylesheet om de highlight een bepaalde kleur te geven. Dit is bijvoorbeeld handig om in de titels van zoekresultaten de zoekargumenten te highlighten.
  • De omgeving werkt ‘near realtime’ en is enorm schaalbaar.

Waarom gebruiken WIJ Elasticsearch?

Nu dat je Elasticsearch een beetje beter begrijpt, zal je vast begrijpen waarom wij als Shopware Partner hier graag mee werken. Bij het ontwikkelen van onze webshops willen wij ontzettend veel data laten zien. Denk bijvoorbeeld aan categoriepagina’s, hier laten we vele gegevens zien als maten, eigenschappen, etc. En dit moet snel. Daarvoor gebruiken wij Elasticsearch. Om dat razendsnel te kunnen laten zien. Elasticsearch indexeert alle data ineens en dat maakt het ons mogelijk alle data in één keer op te vragen en dus dit snel te kunnen laten tonen.

In dit artikel

No items found.

Meer insights

Overzicht
No items found.

Meer informatie?

Michel Doens
Partner
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
No items found.