Mise en place d’une recherche Fulltext dans une base HyperFileSQL existante.
La recherche FullText permet de réaliser des recherches complexes dans un fichier de données. Le principe est simple : la recherche est réalisée sur plusieurs rubriques texte à la fois (y compris sur des contenus au format RTF ou HTML).
C’est le principe de recherche que vous utilisez quotidiennement avec google.
Les index FullText permettent simplement d’indexer non plus des mots isolés mais directement le contenu des documents.
La mise en place d'une recherche Fulltext se fait en 3 étapes :
1. Création des index full-text
2. Création d'une requête
3. Analyse du résultat.
1 Créer les index Fulltext :
La création des index Fulltext est réalisée dans l'éditeur d'analyse. Dans la description des rubriques du fichier de données :
- cliquez sur l'icône "Index fulltext".
- sélectionnez les rubriques texte à prendre en compte dans l'index fulltext
- indiquez les caractéristiques des rubriques à indexer : texte au format RTF ou HTML, recherches case sensitive, gestion des accents et des caractères spéciaux.
2. Créer une requête avec l’éditeur de requêtes :
Pour effectuer la recherche fulltext, il faut créer une requête. La création de la requête est réalisée avec l'assistant, comme d'habitude.
Seule différence : la rubrique FullText doit être ajoutée au résultat de la requête et une condition doit être définie sur cette rubrique.
La condition peut correspondre à un paramètre ou à une valeur spécifique.
- Comportement par défaut :
Par défaut la recherche trouve tous les enregistrements contenant un des mots contenus dans le paramètre.
Les enregistrements contenants tous les mots sont affichés en premier (indice de pertinence plus grand).
Si vous avez coché l’option Tous les mots doivent être présents, par défaut seuls les enregistrements contenant tous mots sont trouvés.
- Pertinence du résultat :
Le résultat d'une requête fulltext donne pour chaque enregistrement la pertinence de l'enregistrement par rapport à la valeur de recherche.
Si la pertinence est égale à 0, le texte recherché n’est pas présent.
Plus la pertinence est grande, plus le texte recherché est présent dans la réponse.
Par défaut, seuls les enregistrements pertinents sont affichés et ils sont triés selon cette pertinence.
3. Utilisation de la requête :
La requête fulltext s’utilise comme une requête classique avec paramètre.
Grâce à de nombreux opérateurs combinables (+,-,*,(…),~, «…»), il est possible de réaliser des recherches très précises et aux possibilités multiples. Ces recherches peuvent être réalisées directement par vous (par programme) ou par l'utilisateur final (si l'application le permet).
Exemples :
- Je recherche les enregistrements qui contiennent le mot « WinDev » et pas le mot « WebDev » : le paramètre sera : WinDev –WebDev.
- Je recherche les enregistrements qui contiennent la phrase "Exemples livrés", le mot "WinDev" et tous les mots commençant par "email" : le paramètre sera : « Exemples livrées » +WinDev +email*
- Documentation des opérateurs :
+ : indique que le mot doit être obligatoirement présent dans le résultat
(n’est pas utile si on a coché "Tous les mots doivent être présents dans la requête").
- : indique que le mot ne doit pas être présent dans le résultat
(…) : sert à grouper des mots en sous-expressions. Les groupes de parenthèses peuvent être imbriquées.
~ : marque la négation, et fait que la contribution du mot à la pertinence sera négative. Cet opérateur est pratique pour marquer les mots ambigus. Une ligne qui contient un tel mot sera classée bien plus bas, mais elle ne sera pas exclue, comme ce serait le cas avec -.
* : opérateur de troncature. Contrairement aux autres opérateurs, il doit être en suffixe et non pas en préfixe.
"…" : Une phrase entre guillemets double (‘"’) est recherchée littéralement, telle qu'elle a été saisie.
Cette recherche est très performante et permet d’indexer des quantités d’informations. On peut par exemple indexer toute une base documentaire de manière automatique.
N'hésitez pas à mettre en place une recherche FullText dans vos applications, c'est simple et rapide et vos utilisateurs apprécieront cette nouvelle fonctionnalité de la version 14 .
Partager