One moment please...
 
 
Exact Synergy Enterprise   
 

Het installeren en configureren van Elasticsearch voor het zoeken met de optie Alle

Introductie

Opmerking: U dient er rekening mee te houden dat er voor deze oplossing een extra implementatie noodzakelijk is waar mogelijk kosten aan verbonden zijn. Neem contact op met uw account manager voor meer informatie.  

Dit document beschrijft de installatie en configuratie van Elasticsearch. Elasticsearch zorgt ervoor dat u gebruik kunt maken van de optie Alle bij het zoeken naar gegevens in Exact Synergy Enterprise. Het advies is dat deze stappen worden uitgevoerd door een consultant.

Voorwaarden

  • Java Virtual Machine (JVM) is geïnstalleerd (vereist voor ElasticSearch). Versie 17 wordt aangeraden.
  • Zoveel mogelijk geheugen, maar niet meer dan 64GB.

Installatie

Het wordt geadviseerd om de installatie van Elasticsearch uit te voeren op een aparte server.

  1. Download het zipbestand.
  2. Pak het zipbestand uit. Houd er rekening mee dat u dit plaatst in een directory die eenvoudig benaderd kan worden ivm command line interacties.
  3. Voordat u aan de slag gaat is het aan te raden om de naam van het cluster en de node aan te passen. Op het moment dat de service wordt uitgevoerd kijkt deze namelijk of het zich kan aansluiten bij een ander cluster. Wanneer er in het netwerk een andere Elasticsearch draait met dezelfde naam, sluit het zich hierbij aan en start met het repliceren van de indexen en gegevens. Om ervoor te zorgen dat u niet per ongeluk één groot cluster in uw netwerk aanmaakt, is het aan te raden om de naam en clusternaam van uw Elasticsearch node aan te passen.
    • Hiervoor gaat u naar de installatie directory van Elasticsearch en opent de config map.
    • In het configuratiebestand elasticsearch.yml kunt u de naam en clusternaam aanpassen. Om het bestand aan te passen kunt u dit openen met Kladblok.
      Bij cluster.name en node.name haalt u het #-teken voor de regel weg, en geeft achter de dubbele punt de naam van uw cluster en node op. In onderstaand voorbeeld betreft de naam van het cluster 'my-application' en de naam van de node 'node-1'.
  4. De volgende stap is het starten van de Elasticsearch service. Er zijn twee mogelijkheden om dit te doen. U kunt Elasticsearch uitvoeren via de opdrachtprompt of via een Windows service. Wanneer u Elasticsearch uitvoert via de opdrachtprompt start u de service handmatig. Iedere keer wanneer u de machine herstart dient u Elasticsearch ook te starten. Een andere manier is via een Windows service. U installeert deze Windows service en configureert deze zodat deze wordt gestart bij het herstarten van het systeem. Het is aan te raden om de Windows service te installeren.
    • Elasticsearch uitvoeren via de opdrachtprompt:
      • Open de opdrachtprompt.
      • Ga in de opdrachtprompt naar de bin map van het uitgepakte zipbestand.
      • Start via de opdrachtprompt Elasticsearch.bat om Elasticsearch te starten. Wanneer de melding "JAVA_HOME environment variable must be set!" verschijnt dient u eerst de omgevingsvariabele voor JAVA_HOME in te stellen. Voor meer informatie, zie De omgevingsvariabele voor JAVA_HOME instellen.
      • Elasticsearch is nu gestart en het venster dient u open te laten staan.
    • Elasticsearch uitvoeren via een Windows service:
      • Open de opdrachtprompt.
      • Ga in de opdrachtprompt naar de bin map van het uitgepakte zipbestand.
      • Geef in de opdrachtprompt het volgende commando op: elasticsearch-service.bat install
      • De service wordt nu geïnstalleerd. Wanneer de melding "JAVA_HOME environment variable must be set!" verschijnt dient u eerst de omgevingsvariabele voor JAVA_HOME in te stellen. Voor meer informatie, zie De omgevingsvariabele voor JAVA_HOME instellen.
      • U kunt het venster nu sluiten.
      • Ga in Windows naar Configuratiescherm > Systeembeheer > Services en zorg ervoor dat de Elasticsearch service is gestart. Pas eventueel de eigenschappen van de service aan zodat deze automatisch wordt gestart wanneer Windows wordt gestart.
  5. Om Elasticsearch te gebruiken voor bijlagen dient een plugin te worden geïnstalleerd. Deze plugin kunt u installeren door via de dosprompt elasticsearch-plugin.bat met de parameter 'install ingest-attachment' uit te voeren (deze is te vinden in de bin map van de Elasticsearch installatie directory). Wanneer Elasticsearch is geïnstalleerd in C:\ElasticSearch\elasticsearch geeft u in de dosprompt op: C:\ElasticSearch\elasticsearch\bin\elasticsearch-plugin.bat install ingest-attachment
    Er wordt vervolgens een melding getoond dat er additionele permissies nodig zijn voor de plugin. Op de vraag "Continue with installation? [y/n]" antwoordt u dan met: y.
    Na het installeren van de plugin dient u de Elasticsearch service te herstarten.
  6. Om te controleren of het Elasticsearch systeem draait opent u een webbrowser, bijvoorbeeld Google Chrome. Vervolgens geeft de url van Elasticsearch installatie op inclusief poort 9200.
    Bijvoorbeeld http://domein.com:9200 of http://localhost:9200
    Het resultaat ziet er dan bijvoorbeeld uit als:

Instellingen in Exact Synergy Enterprise

  1. Ga in Exact Synergy Enterprise naar Modules > Systeem > Inrichting > Instellingen - Algemeen > Alle.
  2. Klik op Nieuw.
  3. Geef bij Naam op: ElasticsearchURL
  4. Selecteer bij het veld Waarde de optie String.
  5. Geef daarachter de url van de Elasticsearch installatie op inclusief poort 9200. Bijvoorbeeld:

     

Elasticsearch vullen met gegevens

De volgende stap is het vullen van Elasticsearch met de gegevens uit uw Exact Synergy Enterprise database. Dit kunt u doen via de Exact Elastisearch tool. Dit dient u de eerste keer uit te voeren. Wanneer er later nieuwe documenten, verzoeken, medewerkers, etc worden aangemaakt worden deze automatisch toegevoegd en is het niet nodig om deze tool iedere keer handmatig te voeren.   

  1. Ga naar de bin map van de Exact Synergy Enterprise installatie en start het bestand Exact.Search.Tool.exe.
  2. In het scherm dat wordt geopend, maakt u verbinding met de SQL Server waarop uw Exact Synergy Enterprise aanwezig is en de Exact Synergy Enterprise database.  
    De gegevens die u opgeeft worden (m.u.v. het wachtwoord) onthouden wanneer u de tool een volgende keer opstart.
  3. Zodra de verbinding is gemaakt wordt de Home tab getoond, waar u de statistieken en de status kunt bekijken.
    Met de Change knop heeft u de mogelijkheid om in te loggen met andere inloggegevens.
    Wanneer er in Exact Synergy Enterprise geen search url is ingevoerd, wordt een melding getoond en kunt u de search url opgeven.   
  4. De Elasticsearch tab biedt u de mogelijkheid om alle ondersteunde gegevens uit Exact Synergy Enterprise te indexeren in Elasticsearch.
    Dit kunt u doen door de betreffende entiteiten aan te vinken en op de knop Create te klikken. Per entiteit kunt u een Page size definiëren en verder kunt u aangeven of u gebruik wilt maken van Max degree of parallelism. Voor meer informatie over deze en de andere instellingen in dit scherm instellingen, zie Exact Elastisearch tool.
  5. Het aanmaken van de geïndexeerde items kan enige tijd in beslag nemen. De voortgangsindicator toont de voortgang.
  6. Zodra het proces gereed is wordt en "All done!" getoond, en kunt u op de knop Thanks klikken.
  7. U keert vervolgens terug naar de Elasticsearch tab waar u het aantal geïndexeerde items kunt zien.

Let op: Het aanmaken van de geïndexeerde items kan enige tijd in beslag nemen en u kunt geen acties op de database uitvoeren wanneer het proces nog loopt. 

Voor meer informatie, zie Exact Elastisearch tool.

De instellingen definiëren

De zoekmachine maakt gebruik van een standaard set boostwaarden. Afhankelijk van het soort gegevens dat in uw situatie aanwezig is in de Exact Synergy Enterprise database kan het wenselijk zijn om dit aan te passen. Op de Settings editor tab van de Exact Elastisearch tool kunt u de relevantie van bepaalde gegevens definiëren waarmee u de standaard waarden kunt overschrijven. Wanneer u gebruik wilt maken van de standaard set boostwaarden kunt u deze stap overslaan.  

De Settings editor tab biedt u de mogelijkheid om een aantal eigenschappen van de Boostfile aan te passen en deze te exporteren naar een extern XML bestand.

Per entiteit beschikt u over een apart tabblad (Resources, Documents, Requests, etc) waar u de instellingen van die entiteiten kunt configureren.

De Minimum relevancy kan gebruikt worden om de resultaten te beperken tot alleen de (meer) relevante records. U bent alleen geïnteresseerd in de meeste relevante scores, en alles lager dan deze drempel is niet interessant en kan worden genegeerd. Dit zorgt voor een betere performance en dwingt de gebruiker om meer zoektermen op te geven wanneer in eerste instantie niet de gewenste resultaten worden getoond. In de meeste situaties vindt u de gewenste resultaten op de eerste of tweede pagina met zoekresultaten. De meeste gebruikers kijken niet naar de volgende pagina's en voeren extra zoektermen in en zoeken opnieuw. Met deze drempel beperkt u het aantal pagina's die zeer waarschijnlijk toch niet bekeken zullen worden.

De Index boost maakt een index meer relevant dan een andere. Wanneer u bijvoorbeeld zoekt naar de volledige naam (fullname), worden altijd de documenten van die gebruiker getoond vóór de medewerker zelf. Dit is omdat de naam in de meeste gevallen vaker voor komt in het document dan in de naam van de medewerker zelf. Bij de medewerker zelf is de naam alleen aanwezig in het veld Volledige naam terwijl in een document, de naam aanwezig is in de velden Aanmaker, Wijziger, Eigenaar, en wellicht nog in de titel en inhoud van het document. Omdat deze in een document vaker voor komt, worden deze dus altijd als eerste getoond. Om ervoor te zorgen dat de medewerker zelf als eerste in de zoekresultaten wordt getoond, kunt u de complete index 'boosten'. Wanneer u zoekt op 'Antoine de Groot' wordt de medewerker zelf als eerste getoond, en dan pas de documenten.

Met de andere instellingen kunt u de relevantie van de betreffende eigenschap aanpassen. U kunt de waarden aanpassen door de schuifjes naar links of rechts te verplaatsen.

Bij een aantal entiteiten, zoals bijvoorbeeld Documents en Requests, beschikt u over de sectie Filter waar u extra filter criteria kunt definiëren. Zo kunt u aangeven dat u alléén documenten met een bepaald type of beveiligingsniveau wilt opnemen in de search.

Nadat u de gewenste aanpassingen heeft gedaan kunt u gebruik maken van de knop Save om de instellingen op te slaan en de knop Export om de aanpassingen te exporteren naar een XML bestand. Alle entiteiten (tabbladen) worden opgeslagen in hetzelfde XML bestand. Dit XML bestand kunt u in de XMD directory van uw Exact Synergy Enterprise installatie directory plaatsen. Hiermee overschrijft u de standaard set boostwaarden.

Houd er rekening mee dat wanneer u meerdere webservers heeft u het bestand in de XMD map van alle Exact Synergy Enterprise installaties dient te plaatsen.

Voor meer informatie, zie Exact Elastisearch tool.

Synoniemensets definiëren

Op de Synonyms tab kunt u synoniemensets definiëren. Hiermee kunt u aangeven dat bij het zoeken op een bepaald woord tevens de gegevens van andere woorden uit de zelfde synoniemenset worden getoond.
Wanneer u bijvoorbeeld een synoniemenset heeft aangemaakt voor de woorden "Gefiatteerd" en "Goedgekeurd", betekent dit dat wanneer u zoekt  "Gefiatteerd" ook documenten worden getoond met het woord "Goedgekeurd".

Let op:

  • Houd er rekening meer dat het toepassen van de wijzigingen op deze tab een langdurig en intensief proces is. Pas de wijzigingen alléén toe wanneer de server load minimaal is.
  • Houd er rekening mee dat wanneer u de Reset functie op de tab Settings editor gebruikt, ook de opgegeven synoniemen worden gewist.

Voor meer informatie over het definiëren van synoniemensets, zie Exact Elastisearch tool.

Ruiswoorden definiëren

Op de Noise words tab kunt u ruiswoorden opgeven. Ruiswoorden zijn woorden die vaak voor komen. Wanneer zo'n woord voor komt in een zoekopdracht kan de lijst met resultaten erg lang zijn. Bij ruiswoorden kunt u bijvoorbeeld denken aan woorden zoals "de" en "en".

Let op:

  • Houd er rekening meer dat het toepassen van de wijzigingen op deze tab een langdurig en intensief proces is. Pas de wijzigingen alléén toe wanneer de server load minimaal is.
  • Houd er rekening mee dat wanneer u de Reset functie op de tab Settings editor gebruikt, ook de opgegeven ruiswoorden worden gewist

Voor meer informatie over het definiëren van ruiswoorden, zie Exact Elastisearch tool

De Synergy Search Index Updater installeren

Om ervoor te zorgen dat nieuwe entiteiten die u aanmaakt in Exact Synergy Enterprise ook worden geïndexeerd dient u de Synergy Search Index Updater te installeren.

Voor meer informatie, zie Installatie Synergy Search Index Updater in Exact Lightweight Integration Server (ELIS).

Beveiliging

Exact Synergy Enterprise heeft een complex beveiligingsmodel dat ook wordt toegepast bij het zoeken met de optie Alle. In deze context is het belangrijk om toegang tot de Elasticsearch servers, die gebruikt worden door de zoekoptie Alle, zo veel mogelijk te beperken. De verbinding van Exact Synergy Enterprise naar Exact Synergy Enterprise maakt gebruik van de Elasticsearch REST API over poort 9200. Elasticsearch kan ook functioneren als een cluster (zie de sectie Noodherstel voor meer informatie), waarbij poort 9300 wordt gebruikt voor de communicatie tussen de Elasticsearch nodes.

Er zijn twee methodes om de toegang tot Elasticsearch te beperken:

  1. Plaats de Elasticsearch nodes in een apart VLAN en zorg ervoor dat alleen de Synergy applicatie verbinding kan maken met dat VLAN over poort 9200, bij voorkeur via een load balancer om ook hoge beschikbaarheid te behalen.
  2. Implementeer een set firewallregels via Windows firewall op de servers waar Elasticsearch draait. In dit geval dient al het verkeer te worden geblokkeerd, met uitzondering van verkeer afkomstig van de Synergy applicatie op poort 9200. Het zelfde dient te worden gedaan tussen de ELIS Server en Elasticsearch server.

Opmerking: poort 9300 dient open te staan voor de communicatie tussen de Elasticsearch nodes!

Verifieer dat de Elasticsearch server alléén toegankelijk is vanaf de Synergy server en van nergens anders. U kunt dit doen door de Elasticsearch server te benaderen via de Internet browser en te kijken of u een reactie terug krijgt. In een Internet browser gaat u naar http://<Elasticsearch>:9200 en wanneer de firewall nog open staat ziet u een resultaat dat er als volgt uit ziet:

{
"name" : "MYC1DSYN4137",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "fdGmx0tkQpu3F_wTznaNew",
"version" : {
"number" : "7.17.0",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "bee86328705acaa9a6daede7140defd4d9ec56bd",
"build_date" : "2022-01-28T08:36:04.875279988Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}

Wanneer deze melding wordt getoond is de Elasticsearch server nog steeds benaderbaar en dient u stappen uit te voeren om de toegang te beperken!

Noodherstel (Disaster recovery)

In het geval van een calamiteit kan het gebeuren dat de Elasticsearch database is beschadigd of dat een Elasticsearch node niet langer beschikbaar is. Voor noodherstel zijn er twee scenario's:

  1. gebruik 1 node voor Elasticsearch - Wanneer de Elasticsearch database is beschadigd, dient de database helemaal opnieuw te worden opgebouwd. Hierbij dient dezelfde procedure te worden gevolgd als bij een nieuwe installatie en configuratie.
  2. gebruik minstens 3 nodes voor Elasticsearch - Wanneer er 3 of meer nodes worden gebruikt kan Elasticsearch omgaan met noodherstel. Voor dit scenario is additionele configuratie vereist. Voor meer informatie, zie https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html#split-brain.

Opmerking: Het gebruik van Elasticsearch in een cluster met 2 nodes heeft geen toegevoegde waarde in het geval van een calamiteit. Dit scenario is vergelijkbaar met het gebruik van 1 node.

Migreren van Elasticsearch versie 6.6.2 naar 7.17.0

  1. Installeer Elasticsearch versie 7.17.0.
  2. Ga naar de bin map van de Exact Synergy Enterprise installatie en start het bestand Exact.Search.Tool.exe.
  3. In het scherm dat wordt geopend, maakt u verbinding met de SQL Server waarop uw Exact Synergy Enterprise aanwezig is en de Exact Synergy Enterprise database.  
  4. Ga naar het tabblad Settings editor en klik op Export om de instellingen te exporteren. Wanneer u gebruik maakt van de standaard instellingen kunt u deze stap overslaan.
  5. Ga naar het tabblad Synonyms, klik op Plain text en kopieer de inhoud naar een tijdelijk kladblok (notepad) bestand. Wanneer u geen gebruik maakt van de synoniemenlijst kunt u deze stap overslaan.
  6. Ga naar het tabblad Noise Words, klik op Plain text en kopieer de inhoud naar een tijdelijk kladblok (notepad) bestand. Wanneer u geen gebruik maakt van de ruiswoorden kunt u deze stap overslaan.
  7. Ga naar het tabblad Home en klik op Change. Vul hier de url in van de nieuwe Elasticsearch omgeving. Klik vervolgens op Change without save. Op deze manier zorgt u ervoor dat Elasticsearch versie 6.6.2 operationeel blijft terwijl u de gegevens voor versie 7.17.0 indexeert.
  8. Ga naar het tabblad Settings editor en klik op Import om de instellingen te importeren en klik op Save. Wanneer u gebruik maakt van de standaard instellingen kunt u deze stap overslaan.
  9. Ga naar het tabblad Synonyms, klik op Plain text en plak de inhoud van tijdelijk kladblok (notepad) bestand. Klik vervolgens op Apply. Wanneer u geen gebruik maakt van de synoniemenlijst kunt u deze stap overslaan.
  10. Ga naar het tabblad Noise Words, klik op Plain text en plak de inhoud van tijdelijk kladblok (notepad) bestand. Klik vervolgens op Apply. Wanneer u geen gebruik maakt van de ruiswoorden kunt u deze stap overslaan.
  11. Ga naar het tabblad Elasticsearch en selecteer alle entiteiten die u wilt indexeren. Klik vervolgens op Create. Het aanmaken van de geïndexeerde items kan enige tijd in beslag nemen. De voortgangsindicator toont de voortgang.
  12. Wanneer het indexeren gereed is gaat u naar het tabblad Home en klikt op Change. Hier staat de url van de nieuwe Elasticsearch omgeving. Klik ditmaal op Change and save.
  13. Open Exact Synergy Enterprise en ga naar het menupad Modules ? Systeem ? Inrichting ? Instellingen - Algemeen ? Alle.
  14. Vul bij het veld Naam: Begint met de waarde 'ElasticsearchURL' in en klik op Tonen.
  15. Klik op de hyperlink, geef de url van de nieuwe Elasticsearch omgeving op en klik op Bewaren.
  16. Voer een IISreset uit.
  17. Open het Exact Lightweight Integration Server Management console, en pas bij de Synergy Search Indexer oplossing, het Elastic Search Endpoint aan naar de nieuwe Elasticsearch url.
  18. Verwijder de oude Elasticsearch omgeving.

 

Een update uitvoeren van Elasticsearch of Java

Normaal gesproken wilt u de installaties van Elasticsearch en Java gelijk houden op alle nodes in het Elastic cluster. Een update uitvoeren van Elastic of Java is daarom niet iets dat zonder voorbereiding uitgevoerd dient te worden.

Elasticsearch is zeer afhankelijk van Java en alle Elastic processen die worden uitgevoerd kunnen worden onderbroken door een installatie van Java. U dient er voor te zorgen dat verantwoordelijkheden worden overgenomen door andere nodes voordat de update wordt uitgevoerd. Hiermee voorkomt downtime.

Voordat u de updatecyclus start voor alle nodes in het cluster dient een plan te worden gemaakt waarbij de andere nodes de taken overnemen wanneer een node uit het cluster wordt verwijderd. Wanneer het cluster terug is op volle capaciteit (de status van het cluster is groen), kan de node die er is uitgehaald worden geüpdate. Zodra de Java update is geïnstalleerd en de omgevingsvariabele is bijgewerkt, kan u de service stoppen en starten via de opdrachtprompt  ("service stop" en "service start").
Zodra dit is uitgevoerd kan de node weer worden toegevoegd in het cluster waarna de verantwoordelijkheden weer opnieuw worden verdeeld. Pas wanneer dit is voltooid kan de volgende node worden geüpdate.

Voor meer informatie, zie https://www.elastic.co/guide/en/elasticsearch/reference/current/rolling-upgrades.html.

Meer informatie

     
 Main Category: Attachments & notes  Document Type: Online help main
 Category:  Security  level: All - 0
 Sub category:  Document ID: 27.191.098
 Assortment:  Date: 31-05-2022
 Release: 257  Attachment:
 Disclaimer