Elastic search

In dit document wordt uitgelegd hoe de koppeling tussen Elastic search en Hybrid SaaS werkt.

Introductie

Elastic search is een zoek database waarin geavanceerde zoek queries uitgevoerd kunnen worden. Hybrid SaaS kan de producten die zijn gekoppeld aan de website module naar de Elastic search database versturen. Op basis van deze data biedt Hybrid SaaS enekele endpoints aan om zoek resultaten op te vragen. In dit document wordt deze koppeling beschreven.

Door enkele endpoints kunnen de zoek resultaten opgevraagd worden. Deze resultaten kan u gebruiken tijdens het opbouwen van uw website.

Instellingen

Voor het instellen van de Elastic search database zijn de volgende pakket instellingen beschikbaar.
Naam Standaard waarden
Elastic-search-host http://localhost:9200
Voor het instellen van de Elastic search database zijn de volgende rechten beschikbaar.
Naam Code
Websites: inzien CMS - Website

Achtergrond taak

De Elastic search database kan geüpdatet worden door een achtergrond taak. Deze taak wordt om de ingestelde tijd uitgevoerd en verstuurd alle producten opnieuw naar de Elastic search database. De standaard periode is elke 2 uur maar in overleg kan deze tijd aangepast worden.

Een achtergrond taak duurt enkele minuten. Dit heeft echter te maken met de aantal producten, categorieën en blog pots in uw systeem.

Endpoints

Hybrid SaaS biedt API endpoints aan voor het ophalen van de zoek resultaten. Hierbij kan u de naam samen met de braces ({}) vervangen voor uw gewenste waarden.
Endpoint Methode Opmerking Waardes
/api/search/{code}/{websiteUrlId}?query={query} GET Geeft zoekresultaten terug
  • code - De taalcode (bv. nl).
  • websiteUrlId - De unieke id van de huidige website URL.
  • query - De zoek term (bv. sieraden).
/api/search/?api={api}&key={key} POST Update de Elastic search database.
  • api - De API sleutel vanuit het scherm API sleutel.
  • key - De API key sleutel vanuit het scherm API sleutel.

Resultaat

De resultaat van de search endpoint zijn in JSON formaat.

                
{
    "categories": [
        {
            "id": "00000000000000000000000000000000",
            "title": "cms-title",
            "url": "cms-url"
        },
        ...
    ],
    "products": [
        {
            "id": "00000000000000000000000000000000",
            "sku": "sku",
            "title": "cms-title",
            "image": "/image/product/guid/00000000000000000000000000000000/title.png",
            "url": "cms-url",
            "price": 0.00
        },
        ...
    ],
    "blogs": [
        {
            "id": "00000000000000000000000000000000",
            "title": "cms-title",
            "url": "cms-url"
        },
        ...
    ]
}
            
            

Data

Per website URL (Websites > URL per taal) wordt er een nieuw zoek document aangemaakt. Tijdens het opvragen van de endpoint geeft u deze website URL mee. Hiermee kunnen vertalingen opgehaald worden. Vervolgens wordt er per onderdeel deze taal overgenomen.

Per onderdeel moet de CMS/Vertaling ingesteld zijn. In deze CMS/Vertaling moet de Website URL gevuld zijn met de desbetrevende website. Indien deze niet gevuld is wordt de CMS/Vertaling overgeslagen.

Producten

Van het product worden de volgende velden overgenomen.
Veld Locatie
Productcode (Informatie)
Advies verkoopprijs (Prijzen) [Verkoopprijs informatie] Verkooprijs
Beschrijving (Informatie)
CMS title (CMS) [Content per taal] > [Website instellingen] Title
CMS URL (CMS) [Content per taal] > [Website instellingen] URL

Categorieën

Van de categorie worden de volgende velden overgenomen. De categorieën zijn te vinden onder 'Product subgroep'.
Veld Locatie
Naam (Algemeen)
CMS title (Vertaling) [Vertaal informatie] Naam
CMS URL (Vertaling) [Vertaal informatie] URL

Blogs

Van de blogs worden de volgende velden overgenomen. De categorieën zijn te vinden onder 'Blog posts'.
Veld Locatie
Naam (Algemeen)
Pad (Algemeen)

Groepen

Bepaalde producten kunnen verborgen worden voor een een gebruiker. Binnen de organisatie kunnen er klant groepen opgegeven worden. Dit vindt u onder onder het tabje '(groepen)'.

Bij een product kunnen onder het zelfde tabje ook klant groepen opgegeven worden. Wanneer een klant is ingelogd dan worden deze groepen met elkaar gematched. Als de groep gevonden is dan kunnen de producten weergegeven worden.

Wanneer een gebruiker niet is ingelogd en dus geen gebruiker gevonden is, dan wordt de organisatie die is ingesteld in de website overgenomen. De klant is in te stellen onder 'Websites > URL per taal > [Instellingen] Organisatie'.

Wanneer er geen groep gevonden is op het product dan zal deze altijd weergegeven worden.

Importeren

De product klantgroepen kunnen eenvoudig ingesteld worden met een Excel import. In het scherm 'Alle producten' vindt u onder [Acties] 'Importeer groepen'. Hierbij kan deze Excel sheet gebruikt worden. In deze Excel sheet kan u de product code en groep naam opgeven. De groepen in de sheet 'add' worden toegevoegd en in de sheet 'remove' worden verwijderd.

Heeft u een vraag?

Log in op uw account om uw tickets te kunnen inzien

Nog geen account? Vraag hem vandaag nog aan

Vraag inloggegevens aan