JOIN - Zoekfunctie

Uit JOIN wiki
Versie door D.bronsveld (overleg | bijdragen) op 18 mrt 2019 om 12:30 (Instellingen JOIN Config Editor)
Ga naar: navigatie, zoeken

Terug naar introductie

JOIN SEARCH

Vanaf versie 6.16 van JOIN Zaak & Document wordt gebruik gemaakt van een externe zoekmachine. Onderstaand wordt uitleg gegeven over deze zoekmachine (gebaseerd op Elastic Search) en alle zoekfuncties toegelicht. De zoekfunctie "globaal zoeken" is vanaf versie 6.16 komen te vervallen, terwijl tegelijkertijd de fulltextzoekfunctie (onder het meer-menu) is vervangen door de nieuwe zoekfunctie "zoek in alles".

Googlezoeken.png

Elastic Search

JOIN Zaak & Document maakt sinds versie 6.16 optioneel gebruik van een externe zoekmachine. Deze zoekmachine is gebaseerd op Elastic Search. Dit is een open source project waarin een zoekalgoritme is ontwikkeld dat vergelijkbaar is met de krachtige zoekmachine van bijvoorbeeld Google. Het algoritme kenmerkt zich doordat het verschillende parameters combineert (en bepaalde zoektermen "boost") en hiermee veel beter zoekresultaten in de juiste volgorde kan terugkoppelen aan de eindgebruiker (relevantie van zoekresultaten).

JOIN Zaak & Document maakt ook gebruik van dit algoritme voor het full text zoeken ("zoek in alles"). Alle relevante informatie van registraties en bestanden (bestandsinhoud), gecombineerd met de autorisaties van gebruikers en gebruikersgroepen, wordt gecombineerd opgeslagen in een voor het zoeken geoptimaliseerde index. Het zoekalgoritme maakt van deze index gebruik en probeert zo relevant mogelijk zoekresultaten terug te koppelen aan de eindgebruiker.

De nieuwe index die gebruikt wordt voor het zoeken binnen JOIN (en die dus is geoptimaliseerd voor zoeken) heeft naast het sneller en relevanter tonen van zoekresultaten in het fulltext zoekscherm ook voordelen voor het zoeken in lijsten (boeken, werkvoorraad, zaken en zaakdocumenten). Denk hierbij aan:

  • bij boeken met grote aantallen registraties zijn geen beperkingen meer nodig: volgnummerblokken en filterrestricties zijn niet meer nodig
  • het zakenmagazijn toont altijd de laatste aangemaakte zaken, ongeacht het zaaktype waar deze zijn geregistreerd
  • Bij zaakdocumenten hoeft geen zaak- en documenttype worden ingegeven. Er kan vrij op iedere term worden gezocht

Zoekinalles.png

nb. Maakt uw organisatie geen gebruik van JOIN Search, dan is de interface identiek. Alleen de manier van zoeken en de snelheid van zoeken kan afwijken van wat hier wordt beschreven.

zoeken in alles

Een belangrijke zoekfunctie in JOIN is het "zoeken in alles". Dit is een functie die vergelijkbaar is met bijvoorbeeld Google en het volledige systeem (JOIN Zaak & Document) doorzoekt. De belangrijkste kenmerken van deze zoekfunctie zijn:

  • zoeken vanuit 1 venster
  • eenvoudige en overzichtelijke weergave van zoekresultaten met standaard filters
  • snelle zoekfunctie (resultaat getoond in milliseconden)

nb. houd u er rekening mee dat de zoekfunctie aanmerkelijk minder presteert wanneer u geen gebruik maakt van de externe zoekmachine. Voor meer informatie over de externe zoekmachine kunt u contact opnemen met Decos.

De zoekbox

Rechtsboven in het scherm vindt u de zoekbox. Deze zoekbox is altijd beschikbaar, ook als u in de werkvooraad of het dashboard zit.

Zoekeninalleszoekbox.png

Klikt u op de zoekbox, dan toont JOIN de 5 meest recente zoekopdracht van de gebruiker. Deze lijst is altijd actueel. U kunt een van deze zoekopdrachten selecteren of zelf een zoekopdracht invullen. Deze zoekopdracht kan een of meerdere zoektermen bevatten. Houd er rekening mee dat altijd standaard met AND wordt gezocht (zodat het resultaat zich vernauwt bij meerdere zoektermen). De zoektermen hoeven dus niet perse volledige woorden te zijn of op een andere manier exact zijn, maar het is niet mogelijk om andere operatoren te gebruiken.

Daarnaast is het goed te vermelden dat het mogelijk is om op delen van woorden te zoeken. De minimale lettercombinatie is 3 en sinds versie 6.22 is de maximum instelbaar (tot 100 karakters). Dit kan door de beheerder van JOIN worden ingesteld in jouw omgeving.

Zoekeninallesrecent.png

Wanneer de zoekopdracht is uitgevoerd, opent het resultaatscherm. Het zoekalgoritme bepaalt de volgorde van het zoekresultaat. De relevantie wordt bepaald door meerdere criteria met elkaar te combineren. Een aantal voorbeelden van deze zogenaamde "boosters" in het zoekalgoritme:

  • waar komt het woord voor. Staat het woord in de omschrijving van bijvoorbeeld een zaak, dan krijgt deze een hogere score dan wanneer het in een ander veld staat
  • wanneer is het document of de zaak geregistreerd. Recente registraties krijgen een hogere score
  • hoe vaak komt het woord voor en (bij meerdere zoekwoorden in 1 opdracht) wat is de afstand tussen de woorden onderling. Staan de woorden dicht bij elkaar, dan krijgt de betreffende registratie automatisch een hogere score.

Zoekeninallesresultaat.png

Het zoekresultaat wordt getoond in de overzichtspagina, waarbij u zult merken dat dit zeer snel gebeurt (milliseconden) en waarbij het zoekalgoritme van Elastic ervoor zorgt dat de meest relevante informatie zoveel mogelijk bovenin het scherm wordt getoond. De relevantie wordt onder meer bepaald op basis van bijvoorbeeld datum (laatste wijziging) en de plek waar de termen zijn gevonden (in de omschrijving of bijvoorbeeld het bestand)

In het zoekresultaatscherm zijn diverse filtermogelijkheden standaard beschikbaar wanneer gebruik wordt gemaakt van JOIN Search:

  • Een datumfilter om te kunnen filteren op alle registraties en bestanden die in een bepaalde periode zijn gewijzigd.
  • Een filter op de werkvoorraad zodat kan worden gezocht naar specifieke acties (actief, afgehandeld etc.) waar de betreffende gebruiker toegang toe heeft
  • Een filter op bestanden, zodat specifieke het resultaat binnen bestanden wordt weergegeven
  • Flexibele filters: afhankelijk van het zoekresultaat worden de objecten en boeken getoond die resultaat bevatten. Hier kan per boek of per object verder worden gefilterd om het juiste resultaat te tonen.

Zoekschermfacets.png

Vanuit het resultaatscherm kunt u direct de zaak, het bestand of adres openen. Zo wordt het bestand direct geopend, het dossier als pop-up getoond etc. Door de pop-up te sluiten komt u direct weer in het resultaatscherm terug.

Verschillende zoekmogelijkheden

Er zijn meerdere zoekcombinaties mogelijk in de zoekbox:

Zoeken op een enkel woord of een deel van een woord: hiermee worden resultaten getoond die voldoen aan dit woord, maar ook resultaten waar de zoekopdracht onderdeel is van een ander woord. Zoek je op fiets, dan tonen we resultaten met fiets, loopfiets, fietsbel of gefietst. Als je op een deel van een woord zoekt, bijvoorbeeld fie dan moet je er wel op letten dat het zoekwoord niet kleiner is dan 3 karakters. Afhankelijk van de instellingen in de zoekmachine (controleer bij je applicatiebeheerder wat de zogenaamde "ngram" instellingen zijn) kun je op delen van woorden zoeken tussen minimaal 3 en maximaal 20 karakters.

Zoeken op meerdere woorden: je kunt ook op meerdere woorden zoeken. Bijvoorbeeld JOIN Search. Het resultaat van deze zoekopdracht zijn alle registraties waar in een van de velden (bijvoorbeeld omschrijving of de inhoud van een PDF-bestand) deze combinatie van woorden wordt gevonden. We tonen ook resultaat waar bijvoorbeeld JOIN introduceert Search of Search JOIN staat. Beide woorden komen namelijk, de volgorde of positie in het betreffende veld heeft hier geen beperkende invloed op.

Exact zoeken: tot slot kun je ook nog exact zoeken naar bepaalde woorden of combinaties. Dit doe je door de zoekopdracht tussen dubbel haakjes te plaatsen. Zoek je bijvoorbeeld op "JOIN Search" dan geven we alleen resultaten die hier exact aan voldoen. JOIN introduceert Search is hier dan van uitgesloten. Je kunt exact zoeken ook combineren. Zoek je bijvoorbeeld op "David Bronsveld" "Joost Went" dan tonen we alleen resultaten waarin beide exacte combinaties voorkomen in 1 veld van een registratie. Registraties met alleen "Joost Went" worden hiervan uitgesloten.

zoeken in lijsten: filteren

U kunt in JOIN Zaak & Document in boeken zoeken (dit worden ook wel lijsten genoemd). In ieder boek vindt u een lijst, waar u per kolom een zoekopdracht (filter) kunt toepassen. U kunt desgewenst meerdere filters tegelijkertijd combineren (zoeken op verschillende kolommen) of meerdere filters binnen dezelfde kolom toepassen. Hier kunt u gebruik maken van zogenaamde "operatoren" die verderop in deze wiki worden uitgelegd.

Wanneer u een waarde ingeeft in de kolom en op [enter] drukt wordt het filter toegepast en de zoekopdracht uitgevoerd.

Filterdecosadresboek.png

U hoeft niet perse op volledige woorden te zoeken, maar u kunt ook een deel van het woord (een lettercombinatie) invoeren. Voert u bijvoorbeeld "eco" in, dan krijgt u de resultaten "ecologie" en "decos" terug als zoekresultaten. Hou er wel rekening mee dat in reguliere tekstvelden er minimaal op 3 karakters moet worden gezocht. Zoekt u op minder karakters, dan zal de zoekmachine alleen resultaten tonen die hier exact aan voldoen. Voor datum- en numerieke velden (en ook het volgnummer) geldt deze beperking niet. Met de "wis filtercondities" knop kunt u met 1 handeling uw filters wissen.

Wisfiltercondities.png

Met JOIN Search hoeft u bij het zoeken geen gebruik te maken van AND, die wordt "onder water" automatisch toegevoegd. Daarnaast heeft u met JOIN Search voordeel bij het zoeken naar woorden met diakrieten. Bent u bijvoorbeeld op zoek naar het woord "René" maar zoekt u op "Rene" in plaats van "René", dan toont de nieuwe zoekmachine alle resultaten met of zonder é. Zonder externe zoekmachine worden alleen de resultaten getoond die exact voldoen aan de zoekopdracht.

Zoekenoprene.png

filteropties

Onderstaand worden alle operatoren getoond die u kunt gebruiken in het filteren in de lijsten (boeken). Hiermee kunt u vergelijkingen uitvoeren, datumbereik instellen etc. Voor meer informatie of hulp kunt u altijd contact opnemen met de JOIN specialist van uw organisatie:

Zoekmethoden
Manier van invullen Voorbeeld Resultaat
AND Paul AND Veger Beide woorden staan in resultaat: Paul Veger
OR Paul OR Veger Een van de woorden komt voor in het resultaat: Paul Hendriks / Bert Veger
AND NOT* Paul AND NOT Veger Eerste woord komt voor in resultaat, tweede niet: Paul Hendriks
Alleen waarde Piet Alles waar Piet in voor komt: Pietersen / De heer Piet Jansen
Datum 1-3-2014 1 maart 2014
Eenvoudige vergelijking > Decos Alle waarden die alfabetisch na Decos komen: Decos Information Solutions / Deelgemeente
Getal > 5 Alle cijfers hoger dan 5: 6 / 7 / 8
Getal >=5 Alle cijfers hoger of gelijk aan 5: 5 / 6 / 7 /8
Getal <> 5 Alle cijfers kleiner dan 5 en groter dan 5: 3 / 4 / 6 / 7 /
Getal < 3 OR > 6 Alle cijfers kleiner dan 3 of groter dan 6: 1 / 2 / 7 / 8
Datum > 1-3-2014 Alle datums na 1 maar 2014: 12 juni 2014 / 30 augustus 2014
Datum Date() Huidige datum
Datum > Date() - 30 De afgelopen 30 dagen
Datum > 1-3-2014 AND < 1-6-2014 Alle datums tussen 1 maart 2014 en 1 juni 2014
Datum 01-2014 Alle registraties met een datum tussen 1 januari t/m 31 januari
IS NULL Toepassing in Filterbalk Het betreffende veld is leeg in alle zoekresultaten
IS NOT NULL Toepassing in Filterbalk Het betreffende veld is ingevuld in alle zoekresultaten
Exacte waarde** ="OR" Alle waar alleen het woord OR voorkomt, verder mag er niets in het veld staan

*De functie NOT kan niet worden gebruikt in lijsten wanneer u gebruik maakt van JOIN Search

**Exact zoeken met JOIN Search werkt zonder het = teken

U kunt ook nog complexere zoekopdrachten geven door AND en OR te combineren. Houd er wel rekening mee dat AND voorrang heeft op OR.
De zoekopdracht "Paul AND Veger OR Hendriks" wordt uitgevoerd als "(Paul AND Veger) OR Hendriks" en dus naar resultaten waar Hendriks in voorkomt, of zowel Paul als Veger.

geavanceerd zoeken

Naast het zoeken in de lijst biedt JOIN ook de mogelijkheid om geavanceerd te zoeken op gerelateerde informatie. Zo kunt u met geavanceerd zoeken naar de volgende informatie zoeken:

  • uitgebreide inhoud/notities
  • gekoppelde adressen
  • gekoppelde documenten
  • gekoppelde dossiers
  • gekoppelde vergaderingen
  • (workflow)activiteiten
  • gekoppelde objecten/projecten/contactmomenten (afhankelijk van uw configuratie)

Geavanceerdzoekenlijst.png

De functie geavanceerd zoeken vindt u via de button rechtsbovenin de lijst. U geeft een of meerdere filters in per object en drukt op OK. De zoekopdracht kan daarnaast worden gecombineerd met filters in de lijst van het boek waar u uw zoekopdracht wilt uitvoeren (bijvoorbeeld wanneer u op zoek bent naar een zaak van een bepaalde datum, waarbij de gekoppelde persoon "Jansen" heet. Tevens kunt u hier gebruik maken van de uitgebreide filteropties (AND OR etc.).

Mist u gegevens om op te zoeken dan kunt u dit bij de functioneel beheerder van JOIN aanvragen. Dit kan in JOIN namelijk worden gewijzigd.

Geavanceerdzoeken.png

zoeken in zaken

werkt u met het zaaksysteem van JOIN (op basis van JOIN Zaaktypen), dan kunt u vanaf versie 6.16 verbeterd zoeken naar zaken. Alle functies die hierboven zijn benoemd voor het zoeken door lijsten gelden ook voor het zoeken naar zaken. Daarnaast worden, bij het openen van de lijst "zaken", de laatste 10,20 of 50 zaken getoond die in het zaaksysteem zijn geregistreerd. Dit is ongeacht in welk zaaktype de zaak is geregistreerd, maar uiteraard wel met inbegrip van de zaaktypen waar u als gebruiker minimaal leesrechten voor heeft.

Zoekennaarzaken.png

nb. Wanneer u niet gebruik maakt van de externe zoekmachine, geldt bovenstaande niet.

zoeken in zaakdocumenten

Werkt u met het zaaksysteem van JOIN (op basis van JOIN Zaaktypen), dan kunt u via het onderdeel "zaakdocumenten" eenvoudig en snel door alle zaakdocumenten zoeken, ongeacht het zaaktype en documenttype waar deze zijn geregistreerd.

Maakt u gebruik van JOIN Search, dan zijn er geen zoekbeperkingen, zoals het vooraf selecteren van een zaaktype of een documenttype.

Zoekennaarzaakdocumenten.png

Net als bij zaken worden de laatste 10,20 of 50 (afhankelijk van uw instellingen) zaakdocumenten getoond die als laatste aan het zaaksysteem zijn toegevoegd Dit uiteraard ongeacht het zaaktype en documenttype waar ze bij horen, maar uiteraard wordt er wel rekening gehouden met de zaak- en documenttypen waar u als gebruiker rechten op heeft. Afgeschermde documenten krijgt u alleen te zien wanneer u expliciet hier toegang toe heeft gekregen.

nb. maakt u geen gebruik van de externe zoekmachine, dan geldt bovenstaande helaas niet.

Instellingen JOIN Config Editor

de instellingen van JOIN Search in de Config Editor

In De JOIN Config Editor zijn de volgende instellingen aanwezig:

instelling omschrijving
Date range filter field in dit veld kan worden ingesteld op welke datum het datum bereik (in het full text zoeken) reageert. Hier kan worden gekozen tussen de "datum laatst gewijzigd" (item_timestamp) of de "creatiedatum" (item_created) van bijvoorbeeld de zaak of het document
Elastic Search index name De naam van de index voor Elastic Search
Elastic Search password Het wachtwoord om in te kunnen loggen bij Elastic Search API. Dit werkt alleen in combinatie met een Xpack licentie
Elastic Search Server URL De Server URL waar Elastic draait. Elastic kan op een andere server worden geinstalleerd dan de JOIN Server (zoals bijvoorbeeld een centrale Elastic Server waar ook andere systemen gebruik van maken
Elastic Search username De gebruikersnaam die nodig is om in te kunnen loggen bij Elastic Search API. Dit werkt alleen in combinatie met een Xpack licentie
Enable Ngram analyzing Hiermee activeer je de Ngram-analyzer. Met Ngram wordt het mogelijk om op delen van woorden te zoeken in zowel fulltext zoeken als in het zoeken door lijsten. Houd er wel rekening mee dat de omvang van de zoekindex toeneemt bij het gebruik van Ngram. Verderop in deze lijst vind je de instellingen voor het minimale en maximale aantal karakters voor het zoeken op delen van woorden
External Search engine De externe zoekmachine die wordt gebruikt. Op dit moment wordt alleen Elastic Search gebruikt
External Search Engine ServiceTCP Channel Het TCP kanaal voor de externe zoekmachine waarmee met de JOIN External Search service kan worden gecommuniceerd.
Fields to exclude from indexing Wanneer bepaalde velden niet mogen worden getoond (of op gezocht) dan kunnen deze filter worden uitgesloten van indexering. Deze velden zijn dan ook niet beschikbaar in de externe zoekindex. Denk dan bijvoorbeeld het BSN-veld
Filter bar behavior for external search engines* In dit veld wordt ingesteld of en op welke wijze het tonen van en filteren in lijsten gebruik maakt van de externe zoekmachine
Max number of items in aggregations in het fulltext zoekscherm kan de lijst met zoekresultaten verder worden verfijnd door gebruik te maken van filters aan de linkerkant van het scherm. Met deze instelling wordt bepaald hoeveel filters per itemtype kunnen worden getoond (bijvoorbeeld verschillende zaaktypen onder het onderdeel "zaken".
Maximum Ngram analyzer length Bij het zoeken naar woorden (in zowel lijsten als in het fulltext zoeken) kan op delen van woorden worden gezocht. De techniek die hier wordt gebruikt heet Ngram. Staat deze instelling op 20, dan kan het zoeken op delen van woorden tot woorden die maximaal 20 karakters lang zijn.
Minimum Ngram analyzer length het minimale aantal tekens waarop gezocht moet worden naar het zoeken naar (delen van) woorden.
Reindexing start time starttijd (advies 's nacht) waarop de zoekindex wordt bijgewerkt. Zo worden bijvoorbeeld autorisatiewijzigingen altijd 's nachts bijgewerkt en niet real time
Reindexing end time eindtijd van het indexeringsproces van JOIN Search
Service call time out (seconds) Wanneer dit is ingesteld op 30 seconden, wordt het verzoek aan de externe zoekindex service geannuleerd.

Filter bar behavior configuratie

JOIN kent veel lijsten:

  • het zakenboek met alle subzaaktypen
  • het contracten- of facturenboek
  • de werkvoorraad
  • etc. etc.

In het verleden moesten diverse filter-restricties worden gebruikt om de performance van deze lijsten (zowel voor het tonen als het filteren ervan) op peil te houden. Dat is met de introductie van JOIN Search verleden tijd. De instelling "filter bar behavior" bepaalt of er in de betreffende lijst (boek/werkvoorraad) gebruik wordt gemaakt van JOIN Search. Omdat dit ook in sommige gevallen tot een verschil in functionaliteit kan leiden volgt hieronder een opsomming:

lijst instelling "Never" instelling "Automatic" instelling "Always"
werkvoorraad de werkvoorraad haalt zijn informatie op uit de database de werkvoorraad haalt zijn informatie op uit de database de werkvoorraad (ophalen lijst en filteren) haalt zijn informatie op uit de search-index
normaal boek <10000 records het boek haalt zijn informatie op uit de database zowel het filteren als het ophalen van de lijst maakt gebruik van de database het boek (ophalen lijst en filtaeren) haalt zijn informatie op uit de search-index
normaal boek >10000
  • het boek haalt zijn informatie op uit de database
  • er zijn performance restricties nodig om de performance op peil te houden ("rangschik op volgnummer, beperkte zoekindexen")
het boek (ophalen lijst en filtaeren) haalt zijn informatie op uit de search-index het boek (ophalen lijst en filtaeren) haalt zijn informatie op uit de search-index
hierarchisch boek (zoals "zaken")
  • zowel het hoofdboek (zaken) als het subboek (zaaktype) haalt zijn informatie op uit de database.
  • Op hoofdniveau wordt de inhoud pas getoond na een filteropdracht
  • Op subniveau wordt de inhoud wel direct getoond
  • vanaf het "hoofd"-niveau (bijv. zaken) wordt informatie opgehaald uit de search-index. De laatste 10,20 of 50 aangemaakte registraties (ongeacht het sub-boek (zaaktype) worden direct getoond
  • filteren gebeurt op basis van de search-index. Er zijn geen performance-restricties
  • selecteer je een subboek (bijv. een specifiek zaaktype) dan wordt informatie opgehaald uit de database. Filteren gebeurt op basis van de database.
  • zowel op hoofdniveau (hoofdboek "zaken" als op subniveau (zaaktype) wordt gebruik gemaakt van de search index.
  • Er zijn geen performance restricties en lijsten worden direct getoond, op ieder niveau
Zaakdocumenten
  • zowel het hoofdboek (zaken) als het subboek (zaaktype) haalt zijn informatie op uit de database.
  • op hoofdniveau wordt de inhoud pas getoond na een filteropdracht in combinatie met de verplichte keuze voor zaaktype/documenttype
  • Op subniveau wordt de inhoud pas getoond na de verplichte combinatie zaaktype/documenttype
  • zowel op hoofdniveau (hoofdboek "zaken" als op subniveau (zaaktype) wordt gebruik gemaakt van de search index.
  • Er zijn geen performance restricties en lijsten worden direct getoond, op ieder niveau
  • zowel op hoofdniveau (hoofdboek "zaken" als op subniveau (zaaktype) wordt gebruik gemaakt van de search index.
  • Er zijn geen performance restricties en lijsten worden direct getoond, op ieder niveau

aanvullende opmerkingen:

  • er zit een klein verschil in de filterfuncties tussen zoeken in de database en zoeken in de externe zoekindex. Denk dan bijvoorbeeld aan het niet kunnen gebruiken van NOT in de externe zoekmachine of het niet hoeven invoeren van AND wanneer je gebruik maakt van de externe zoekmachine.
  • de standaard instelling is AUTOMATIC. Vanaf versie 6.26 zal deze instelling niet meer aanwezig zijn en bestaat alleen de keuze uit "aan" (ALWAYS) en "uit" (NEVER)
  • de externe zoekmachine service maakt gebruik van de JOIN Backgroundservice. Als deze niet draait is het ook niet mogelijk om data uit de zoekindex te tonen of te filteren.

Troubleshooting

hieronder vindt u een overzicht van veel voorkomende foutmeldingen en de bijbehorende oplossing:

foutmelding Oplossing
De zoekindex komt niet overeen met de huidige softwareversie. Vraag een beheerder om de index opnieuw op te bouwen Controleer of de Decos JOIN services en Elastic Search achtergrondservice allemaal gestart zijn