Requêtes sur ISTEX

De Wicri Manuel
Révision datée du 8 mars 2016 à 08:10 par imported>Jacques Ducloy (Requête avec des groupes de termes)

Cette page présente des requêtes simples sur ISTEX dans un environnement Unix avec les commandes de la famille IstexGetCorpus.

Introduction

La plateforme ISTEX utilise le serveur de recherche Elasticsearch. Celui-ci est une application paramétrable qui s'appuie sur le moteur de recherche Lucene.

La compréhension d'une requête ISTEX avancée demande donc la compréhension de trois niveaux de fonctionnalités :

  • le langage de requête du moteur Lucene syntaxe Lucene,
  • le fonctionnement de l'application Elastichsearcb
  • le paramétrage réalisé par l'INIST

Pour un premier contact avec l'api ISTEX, il est conseillé de démarrer avec un navigateur en s'appuyant sur la documentation associée.

Requête portant sur un seul terme

L’adaptation de cette documentation au contexte Unix cause quelques problèmes de conflit entre la syntaxe acceptée par le moteur Lucene et celle du shell Unix.

Pour une recherche sur un terme unique (Single Term), la formulation d'une requête se réduit à « -q term ». Exemples :

 IstexGetCorpusSize -q rabelais
 IstexFlashCorpus   -q rabelais -s 20
 IstexExplorCorpus  -q rabelais -s 200 -d testRabelais

Le terme rabelais est alors recherché dans l'ensemble du document, indépendamment de la casse, ainsi les requêtes suivantes sont équivalentes :

 IstexGetCorpusSize -q rabelais
 IstexGetCorpusSize -q Rabelais
 IstexGetCorpusSize -q rabelaiS

Requête avec des groupes de termes

Il est possible de poser des requêtes avec des groupes de termes avec un fonctionnement proche de celui de Google.

Dans les lignes de commande shell, il suffira de regrouper les termes entre des guillemets droits ( " ) ou double quotes. Attention, la requête envoyée à l'API ne contiendra pas ces caractères.

Pour sélectionner tous les documents contenant Rabelais ou Pantagruel ou Gargantua, il faudra écrire :

 IstexGetCorpusSize -q "rabelais pantagruel gargantua"

En fait cette requête utilise de façon implicite l'opérateur booléen OU (OR en anglais dans la syntaxe Lucene). La requête précédente est donc équivalente à :

 IstexGetCorpusSize -q "rabelais OR pantagruel OR gargantua"