PostgreSQL, comme tout moteur de bases de données, sait faire de la recherche sur des champs de type texte. Cela passe principalement par les opérateurs habituels en SQL, à savoir LIKE et ILIKE, mais cela peut aussi passer par les opérateurs ~ et ~* pour des recherches sur des expressions rationnelles.
1. Un peu de théorie
Cependant, même les recherches sur des expressions rationnelles ne sont pas suffisantes pour subvenir aux besoins des systèmes d'information modernes. Ces derniers ont maintenant besoin de recherches basées sur la linguistique. Une recherche du mot « présentation » devrait pouvoir aussi ramener les documents qui contiennent les mots « présenter » et « présentateur ». Cette recherche ramène donc beaucoup plus de documents qu'une recherche stricte. C'est pour cela qu'il est aussi bon de pouvoir donner un score aux documents trouvés suivant la similarité des termes qu'ils contiennent avec les termes de la recherche. Enfin, proposer un extrait du document où se trouvent les termes recherchés devient là aussi indispensable. Ce type de recherche est appelé de la « recherche plein texte ». L'acronyme FTS, « Full Text Search » en anglais, est souvent utilisé.
Depuis la version 7.4, PostgreSQL dispose d'un module de recherche plein texte...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première