- 28 Feb 2024
- 2 Minuten te lezen
Zoeken in volledige tekst
- Bijgewerkt op 28 Feb 2024
- 2 Minuten te lezen
Full text search (FTS) maakt het mogelijk om tekst te zoeken in Moodle, vooral binnen de catalogus.
In plaats van eenvoudig substring zoeken, maakt het gebruik van FTS-functies die door databasesystemen worden geleverd om de zoekresultaten op de volgende manieren te verbeteren:
- Volgorde op relevantie
- Zoek naar zinnen, zelfs als woorden anders geordend zijn
- Taalbewust zoeken
- Woordformulieren en tijdbewust zoeken (wees/was/is of run/ran)
- Ondersteuning voor diacritica
- Morfologisch zoeken
- Gedeeltelijk zoeken vanaf het begin van de woorden (bijv. 'Edu*' zal onderdelen opleveren met het woord 'Educatie')
Al deze voordelen kunnen de zoekervaring van gebruikers aanzienlijk verbeteren, waardoor de meest relevante inhoud voor hen kan worden gevonden.
Databank-FTS vermindert de behoefte aan overheadvereisten voor infrastructuur voor externe FTS-oplossingen, zoals Elasticsearch. In sommige gevallen vereist het echter ook een extra configuratie van gebruikte databases om bepaalde zoekfuncties in te schakelen. Anders zijn alleen basisfuncties beschikbaar. Op dit moment wordt slechts één taal per site ondersteund bij het zoeken in volledige tekst.
Taalondersteuning
Anders dan andere bestaande data definitie taal (DDL) functies, is zoeken in volledige tekst taalbewust. De taal wordt opgegeven tijdens het maken van de index en wordt gebruikt door je databank in de productie van de index. Het wordt gebruikt voor het verwoorden van woorden, het negeren van ruiswoorden (a, het, enz.) en voor andere taalkundige functies die worden geleverd door de zoekindex in volledige tekst van je databank.
Totara zoeken in volledige tekst ondersteunt slechts één taal. Het moet worden opgegeven in je config.php-bestand en we raden je aan het in te stellen op een taal die compatibel is met je $CFG→lang. De werkelijke waarde is database-onafhankelijk.
Om je taal in te stellen, voeg je het volgende toe aan je config.php:
$CFG->dboptions['ftslanguage'] = 'your language';
De werkelijke waarde is afhankelijk van de databank.
Joker zoeken
Met FTS is het mogelijk om te zoeken naar gedeeltelijke woorden. Om dit te doen, zet je gewoon een sterretje (*) na het begin van het woord in de zoekinvoer. Als je bijvoorbeeld naar 'edu*' zoekt, worden er onderdelen getoond die het woord 'onderwijs' bevatten).
Alle ondersteunde databases werken met deze functie en er is geen extra configuratie vereist. Als een bepaalde databank een ander jokerteken vereist, dan zal Totara dat voor de gebruiker verwerken.
Accent ongevoelig zoeken
Over het algemeen zal het hebben van de juiste woordenlijsten in databank woordstemming zowel geaccentueerde als niet-geaccentueerde versies van woordstam opleveren. Als je databankconfiguratie dat echter niet toestaat, kunnen accenten globaal worden uitgeschakeld door de configuratievariabele aan te passen:
$CFG→dboptions['ftsaccentsensitivity'] = false;
And running FTS re-populating tables:
php admin/cli/fts_rebuild_indexes.php
Databankspecifieke informatie
Om het meeste uit het zoeken in volledige tekst te halen, moeten databankbeheerders hun databankdocumentatie volgen om relevante databankplugins in te schakelen en te configureren, woordenlijsten te installeren en verschillende databankinstellingen aan te passen.
Daarnaast hebben we enkele tips en trucs verzameld en gegeven voor de volgende databases. Dit is geen vervanging voor officiële databankdocumentatie, maar eerder een selectie voorbeelden die laten zien hoe verschillende instellingen de zoekresultaten kunnen beïnvloeden.
Volgende stappen
- Zoek in volledige tekst in MariaDB
- Zoek in volledige tekst in MS SQL Server
- Zoek in volledige tekst in MySQL
- Zoek in volledige tekst in PostgreSQL
© Copyright 2024 Totara Learning Solutions. All rights reserved. Some content originally obtained via GPLv3 license and continues to be available under GPLv3. All other content is the sole copyright of Totara Learning Solutions.