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.
- Download het zipbestand.
- Pak het zipbestand uit. Houd er rekening mee dat u dit plaatst in een
directory die eenvoudig benaderd kan worden ivm command line interacties.
- 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'.
- 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.
- 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.
- 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
- Ga in Exact Synergy Enterprise naar Modules > Systeem > Inrichting > Instellingen - Algemeen > Alle.
- Klik op Nieuw.
- Geef bij Naam op: ElasticsearchURL
- Selecteer bij het veld Waarde de optie String.
- 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.
- Ga naar de bin map van de Exact Synergy Enterprise installatie en start
het bestand Exact.Search.Tool.exe.
- 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.
- 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.
- 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.
- Het aanmaken van de geïndexeerde items kan enige tijd in beslag nemen.
De voortgangsindicator toont de voortgang.
-
Zodra het proces gereed is wordt en "All done!" getoond, en kunt u op de
knop Thanks klikken.
- 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:
- 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.
- 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:
- 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.
- 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
- Installeer Elasticsearch versie 7.17.0.
- Ga naar de bin map van de Exact Synergy Enterprise installatie en start
het bestand Exact.Search.Tool.exe.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Open Exact Synergy Enterprise en ga naar het menupad Modules ? Systeem ?
Inrichting ? Instellingen - Algemeen ? Alle.
- Vul bij het veld Naam: Begint met de waarde 'ElasticsearchURL' in
en klik op Tonen.
- Klik op de hyperlink, geef de url van de nieuwe Elasticsearch omgeving
op en klik op Bewaren.
- Voer een IISreset uit.
- 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.
- 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: |
Exact Synergy Enterprise
|
Date: |
31-05-2022 |
Release: |
257 |
Attachment: |
|
Disclaimer |