Le moteur de recherche de métadonnées géographiques Isogeo
.avif)
Chez Isogeo, le moteur de recherche de métadonnées géographiques est au cœur de la plupart de nos produits : plateforme d’administration, OpenCatalog, Portail, plugins QGIS et ArcGIS Pro, Widget Web AppBuilder, etc. Il permet de retrouver rapidement vos données et d’administrer efficacement votre patrimoine.
Aujourd’hui, nous allons détailler son fonctionnement pour vous aider à mieux l’utiliser.
Fonctionnement actuel

Dans l’interface d’administration de la plateforme Isogeo, la recherche avancée est accessible depuis l’inventaire en cliquant sur le bouton “Filtres”, ou par auto-complétion en inscrivant certains mots dans la barre de recherche.
Plus précisément, son fonctionnement est le suivant :
- Le site web utilisé va envoyer une requête de recherche à l’API via la route /groups/{group_id}/resources/search,
- La requête peut contenir les paramètres suivants :
- Les filtres sélectionnés dans l’onglet de recherche avancée, qui concernent des champs de métadonnées,
- Un ou plusieurs terme(s) textuel(s), qui permettent de rechercher n’importe quel mot dans les informations de la fiche de métadonnées,
- Les paramètres de tri sur les dates de modification, création, ou par pertinence (paramétrés dans l’inventaire),
- Le nombre d’éléments par page et le numéro de page (paramétré dans l’inventaire),
- Un paramètre _include existe également, permettant de filtrer la quantité d’informations retournées pour chaque données.
- L’API renvoie la liste au format JSON et la plateforme d’administration les affiche.
Il est en général conseillé par l’équipe projet d’Isogeo de combiner l’utilisation des filtres avec l’utilisation de champs textuels pour affiner au mieux les résultats de recherche. Par exemple, cette recherche retournera toutes les données de type vecteur contenant le mot “Isogeo”.

Le module de recherche Isogeo est également utile pour rechercher une fiche lors de l’association entre une couche de service et une fiche vecteur. Cependant, dans ce cadre, la plupart des paramètres sont fixes et l’utilisateur n’a que la possibilité d’utiliser la recherche textuelle.
Principe de la recherche textuelle
La recherche textuelle consiste à chercher un ou plusieurs termes dans les principaux champs des fiches de métadonnées (titre, nom technique, mots-clés, résumé et emplacement des fiches de métadonnées).
Par défaut, les résultats sont retournés par pertinence dans l’inventaire, et un système de score est élaboré en fonction de la présence du terme dans l’un ou l’autre des champs de la fiche de métadonnées.
Par exemple, si le terme recherché apparaît dans le titre et le nom technique d’une fiche, et qu’il n’apparaît que dans le résumé d’une autre, c’est la première fiche mentionnée qui sera d'abord affichée. Ce tableau, disponible dans l’aide en ligne de la plateforme d’administration, décrit la “force” en pourcentage de chaque champ :

Bien évidemment, si un terme est reconnu dans plusieurs champs de la fiche de métadonnées, la force donnée à la fiche s’additionne et ses chances de se retrouver en tête des résultats augmentent.
Mise à jour de la recherche textuelle
En juin 2022, Isogeo a effectué la mise à jour 2.21.3 de la plateforme d’administration et de l’API : cliquez ici pour accéder aux notes de version. Cette mise à jour apporte quelques modifications à la recherche, en particulier en ce qui concerne la précision et la pertinence des résultats.
En effet, Isogeo a basé son moteur de recherche sur l’utilisation des catalogues de texte intégral, une méthode informatique utilisée dans les bases de données SQL Server pour indexer à l’avance des champs et faciliter la recherche sur les mots d’une langue donnée. Cette méthode a pour avantage d’accélérer la recherche sur un très grand nombre de données.
Mais il a été constaté à l’usage que les résultats renvoyés par l’API manquaient de pertinence : les catalogues de texte intégral sont en effet efficaces lorsque les termes recherchés sont dans une langue donnée et que les champs recherchés sont des paragraphes. Or, les champs des fiches de métadonnées contiennent des champs courts et fréquemment parsemés de caractères spéciaux. De plus, les termes de recherche sont souvent des noms propres, des sigles ou des mots qui n’apparaissent pas dans le dictionnaire.
En remplaçant les catalogues de texte intégral par l’utilisation de l’opérateur LIKE en SQL, il a été possible d’améliorer grandement la précision et la pertinence de la recherche textuelle au sein de toute notre solution : plus de résultats apparaîtront dans vos futures recherches, et les fiches avec des caractères spéciaux dans ses champs ne seront plus ignorées.
Au passage, le système de pertinence a été repensé en triant par défaut les fiches par leur date de dernière modification et en repensant les scores.
Si vous souhaitez en savoir plus sur la manière dont les évolutions sont effectuées chez Isogeo, je vous invite à consulter l’article sur la mise en œuvre d’une évolution produit chez Isogeo.