- 08 Apr 2024
- 2 Protokoll att läsa
Sökning i fulltext
- Uppdaterad på 08 Apr 2024
- 2 Protokoll att läsa
Fulltextsökning (FTS) möjliggör en sofistikerad metod för textsökning i Totara, särskilt i katalogen.
Istället för vanlig substrängsökning, utnyttjar den FTS-funktioner som tillhandahålls av databassystem för att förbättra sökresultaten på följande sätt:
- Ordning efter relevans
- Sök efter fraser även när ord beställs på olika sätt
- Sökning med språkmedvetenhet
- Ordformulär och tidsmedveten sökning (var/var/är eller körd/rann)
- Stöd för Diakritik
- Morfologisk sökning
- Delvis sökning från början av orden (t.ex. ”Edu*” kommer att returnera objekt med ordet ”Utbildning”)
Alla dessa fördelar kan avsevärt förbättra användarsökupplevelsen, vilket hjälper till att hitta det mest relevanta innehållet för dem.
Databas FTS minskar kraftigt behovet av infrastruktur overhead krav för tredje part FTS lösningar som Elasticsearch. Men i vissa fall kräver det också ytterligare konfiguration av använda databaser för att aktivera vissa sökfunktioner. Annars kommer endast grundläggande FTS-funktioner att vara tillgängliga. För närvarande stöds endast ett enda språk per webbplats i fulltextsökning.
Språkstöd
Till skillnad från andra befintliga funktioner för datadefinitionsspråk (DDL) är fulltextsökning språkmedveten. Språket anges när indexet skapas och används av din databas i produktionen av indexet. Det används för att skämma bort ord, ignorera brusord (a, it, etc.) och för andra språkfunktioner som tillhandahålls av fulltextsökningsindexet i din databas.
Totara fulltextsökning stöder endast ett språk. Det bör anges i din config.php-fil, och vi rekommenderar att du ställer in det på ett språk som är kompatibelt med din $CFG→lang . Det faktiska värdet är databasoberoende.
För att ställa in ditt språk, lägg till följande i din config.php:
$CFG->dboptions['ftslanguage'] = 'your language';
Det faktiska värdet är databasberoende.
Sök i jokertecken
Med FTS är det möjligt att söka efter partiella ord. För att göra detta, sätt bara en asterisk (*) efter början av ordet i sökinmatningen. Om du till exempel söker efter ”e du*” kommer du att få tillbaka objekt som innehåller ordet ”utbildning” i dem).
Alla databaser som stöds fungerar med denna funktion och ingen ytterligare konfiguration krävs. Om en viss databas kräver ett annat jokertecken kommer Totara att hantera det för användaren.
Accent okänslig sökning
Generellt, med rätt ordförråd i databasen ordstjälkning kommer att ge både accentuerade och oaccented versioner av ordstam. Men om din databaskonfiguration inte tillåter det kan accenter inaktiveras globalt genom att justera konfigurationsvariabeln:
$CFG→dboptions['ftsaccentsensitivity'] = false;
And running FTS re-populating tables:
php admin/cli/fts_rebuild_indexes.php
Databasspecifik information
För att få ut det mesta av fulltextsökningen måste databasadministratörer följa sin databasdokumentation för att aktivera och konfigurera relevanta databasplugins, installera ordlistor och justera olika databasinställningar.
Dessutom har vi samlat in och tillhandahållit några tips och tricks för följande databaser. Detta är inte en ersättning för officiell databasdokumentation, utan snarare ett urval av exempel som visar hur olika inställningar kan påverka sökresultaten.
Nästa steg
- Fulltextsökning i MariaDB
- Fulltextsökning i MS SQL Server
- Fulltextsökning i MySQL
- Fulltextsökning i 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.