Full text search (FTS) maakt het mogelijk om tekst te zoeken in Moodle, vooral binnen de catalogus. Details over hoe je dit kunt instellen met PostgresSQL kun je vinden op deze pagina.
Standaard ondersteunt de PostgreSQL-databank het zoeken in volledige tekst in zinnen, woorden en gedeeltelijke zoekopdrachten vanaf het begin van het woord (bijvoorbeeld "Edu*" zal onderdelen opleveren die het woord "opleiding" bevatten).
Taal
PostgreSQL gebruikt standaard de 'Engelse' configuratie voor zoeken in volledige tekst (FTS). Zie de resultaten van "SELECT cfgname FROM pg_ts_config;" voor een lijst met beschikbare opties. Bijvoorbeeld:
$CFG->dboptions['ftslanguage'] = 'english';
$CFG->dboptions['ftslanguage'] = 'simple';
$CFG->dboptions['ftslanguage'] = 'german';PostgreSQL ondersteunt geen Japanse en andere talen met zeer korte woorden zonder spaties ertussen. Schakel de volgende instelling in om een experimentele basisondersteuning voor deze talen te krijgen:
$CFG->dboptions['fts3bworkaround'] = true;php admin/cli/fts_repopulate_tables.phpMinimumlengte zoekterm
PostgreSQL heeft geen specifieke standaardlengtevereisten en kan alle woorden vinden, op voorwaarde dat het woorden zijn die gewoonlijk in een woordenboek voorkomen.
Woorden stoppen
Stopwoorden zijn woorden die niet gebruikt worden in indexen en zoekopdrachten. Ze zijn afhankelijk van de taal die wordt gebruikt tijdens het indexeren en zoeken, evenals de aanwezigheid van het woordenboek voor database-installatie.
Als een gebruiker bijvoorbeeld zoekt naar "Hotels in Wellington", dan zal het systeem "in" uitsluiten van de zoekopdracht.
Meer details over PostgreSQL stopwoorden zijn te vinden in de PostgreSQL help documentatie.
Morfologisch zoeken
Een belangrijk punt om op te merken is dat PostgreSQL standaard geen geavanceerde taalfuncties ondersteunt, dus je moet een specifiek Hunspell-woordenboek installeren voor de taal die je van plan bent te gebruiken. Er zijn enkele plaatsen waar je de talen van kunt downloaden, zoals LibreOffice Extensions en Mozilla Addons.
Hieronder kun je een voorbeeld vinden van hoe je morfologisch zoeken in PostgreSQL op Ubuntu 18.04 kunt inschakelen voor de Zweedse taal. Dit is geen definitieve gids, maar eerder een voorbeeld van hoe het in één bepaald geval kan gebeuren. Raadpleeg de PostgreSQL-documentatie voor meer informatie.
Als we bijvoorbeeld de Zweedse taal kiezen, dan zal het volgende niet standaard werken:
-- This will return {äppelträd} as lexemes instead of {äppelträd,äppel,träd} as we would expect
select * from ts_debug('pg_catalog.swedish', 'äppelträd');Om ervoor te zorgen dat PostgreSQL het bovenstaande correct kan interpreteren, moet je het Hunspell Zweedse woordenboek installeren door de volgende stappen te volgen:
- Ga naar Mozilla Addons en download het Zweedse woordenboek (klik met de rechtermuisknop op de knop Aan Firefox toevoegen en klik op de link Opslaan als).
- Extraheer het gedownloade bestand (soms heeft het gedownloade bestand geen extensie, dus voeg .oxt toe)
- Kopieer de *.aff, *.dic bestanden naar de tsearch_data-map van PostgreSQL en hernoem ze naar sv_se.affix en sv_se.dict.
- Bevestig dat de bestanden UTF-8 gecodeerd zijn. Onderstaande zal de huidige encoding van de bestanden afdrukken:
file -i sv_se.*
If the files are not UTF-8 encoded you can execute the following commands (just replace ISO-8859-1 with the encoding output from above):
iconv -f ISO-8859-1 -t UTF-8//TRANSLIT sv_se.affix -o sv_se.affix
iconv -f ISO-8859-1 -t UTF-8//TRANSLIT sv_se.dict -o sv_se.dict- Voer de volgende opdrachten uit in PostgreSQL:
CREATE TEXT SEARCH DICTIONARY sv_hunspell(
Template = ispell,
DictFile = sv_se,
AffFile = sv_se,
Stopwords = swedish
);
CREATE TEXT SEARCH CONFIGURATION sv_hunspell(parser = default);
ALTER TEXT SEARCH CONFIGURATION sv_hunspell ALTER MAPPING FOR asciiword, asciihword, hword_asciipart,word, hword, hword_part WITH sv_hunspell;-- This will return the expected {äppelträd,äppel,träd} lexemes:
select * from ts_debug('sv_hunspell', 'äppelträd');
Join the Totara Community for more resources to help you get the most out of Totara.
© Copyright 2025 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.