Aide sur la recherche experte

Présentation

La recherche experte est accessible aux personnes identifiées uniquement. Elle est disponible depuis l'onglet Recherche. Plusieurs fonctions sont identifiques à celles que l'on retrouve en recherche avancée (limites, affichage, résultats de recherche) et il peut être pertinent de consulter l'aide de la recherche avancée pour en savoir plus sur ces aspects.

La particularité de la recherche experte est d'offrir un seul critère de recherche, mais un critère qui permet à l'utilisateur d'exprimer une requête complexe en utilisant un langage sophistiqué.

Formulaire de recherche

Le formulaire de recherche experte ressemble à celui-ci :

Formulaire de recherche experte

La première zone de texte permet d'exprimer la requête de recherche avec le langage de recherche expliqué ci-dessous. Ensuite, on retrouve des fonctions similaires à la recherche avancée : limites et contrôle de l'affichage. Enfin, une fois la recherche effectuée, les résultats de recherche fonctionnent exactement comme pour la recherche avancée.

Langage de requête

Le moteur de recherche utilisé par ProdINRA est Lucene, du projet Apache. La documentation de Lucene inclut une page sur le langage de requête, mais nous reprenons ici l'ensemble des possibilités du langage car l'intégration de Lucene dans ProdINRA, via la plate-forme SDX, ajoute quelques possibilités.

Concept Syntaxe Description et exemples
Termes et expressions
Termes agriculture biologique

Les mots de la requête sont recherchés individuellement lorsqu'ils ne sont pas accompagnés des options syntaxiques décrites ci-dessous. Ces mots sont passés par un analyseur qui effectue les opérations suivantes :

  • Transformation des majuscules en minuscules
  • Suppression des signes diacritiques
  • Suppression des mots vides (le, la, les, etc.)

Par exemple, la requête L'agriculture Biologique est interprétée comme agriculture biologique.

Lorsque plusieurs termes sont utilisés, ils sont reliés par un OU booléen utilisé si aucun opérateur spécifique n'est contenu dans la requête.

Phrases (adjacence stricte) "agriculture biologique"

Lorsque des mots sont placés entre guillemets, ils doivent être l'un à la suite de l'autre dans la notice pour constituer un résultat. A noter toutefois que les mots vides sont supprimés de la phrase.

Par exemple, "chemin de fer" constitue la même requête que "chemin fer".

Les mots à l'intérieur d'une phrase subissent les mêmes transformations que les termes individuels (voir ci-dessus).

Expressions exactes |Agriculture biologique|

Avec cette syntaxe, il est possible de recherche une expression exacte, sans transformation par l'analyseur. Toutefois, une telle recherche n'est pertinente que lorsqu'elle s'effectue dans un champ de type valeur. Consulter la liste des champs pour connaître les champs de ce type dans ProdINRA. La recherche dans un champ spécifique est décrite plus loin dans cette page.

Auteurs $Abdoulaye D.$

Cette syntaxe est pertinente pour les champs auteurp1 (auteur, nom et initiale) et auteurp2 (auteur, nom et prénom). Ceux-ci sont traités de manière particulière lors de l'analyse de mots et ils doivent être marqués ainsi en recherche.

Intervalles [aaron TO abbas]
{aaron TO abbas}
date:[2000 TO 2002]
date:{1999 TO 2003}

Il est possible de chercher un intervalle de valeurs. Si on utilise les crochets [] pour délimiter l'intervalle, les bornes sont incluses dans la recherche. Si on utilise les accolades {}, les bornes ne sont pas incluses dans la recherche. A l'intérieur de ces délimiteurs, les bornes sont séparées par le mot clé TO qui doit obligatoirement être en majuscules.

La recherche par intervalle est particulièrement utile pour les dates, mais il fonctionne également pour les champs qui contiennent des mots.

Champs
Champs titre:ogm
titre:(ogm OU maïs)
resume:"agriculture biologique"
resume:ogm ET maïs

Le champ dans lequel est effectué la recherche d'un terme ou d'une expression est spécifié par son code suivi du caractère : (deux-points).

Si aucun champ n'est spécifié (par exemple maïs), le terme est cherché dans le champ par défaut.

Pour en savoir plus sur les champs disponibles et le champ par défaut, consulter l'aide sur les champs de recherche.

La spécification du champ de recherche n'est valable que pour le terme ou l'expression qui suit immédiatement le code du champ. Toutefois, il est possible d'utiliser les parenthèses pour faire agir la spécification de champ sur plusieurs termes ou expressions, par exemple : titre:(économie OU développement).

Logique booléenne
ET agriculture ET développement
agriculture AND développement
agriculture && développement

Deux termes ou expressions peuvent être reliés par un ET logique. Dans ce cas, les deux termes doivent être présents pour obtenir un résultat.

A noter que trois syntaxes sont proposées pour exprimer le ET logique. Les majuscules sont obligatoires.

OU agriculture OU économie
agriculture OR économie
agriculture || économie

Deux termes peuvent être reliés par un OU logique, ce qui signifie que l'un ou l'autre doit être présent pour obtenir un résultat.

A noter que trois syntaxes sont proposées pour exprimer le OU logique. Les majuscules sont obligatoires.

SAUF agriculture SAUF économie
agriculture NOT économie
agriculture ! économie

Deux termes peuvent être reliés par un SAUF logique, ce qui signifie que le premier terme doit être présent mais que le deuxième doit être absent pour obtenir un résultat.

Il n'est pas possible d'utiliser le SAUF devant un seul terme : SAUF économie retournera toujours aucun résultat.

A noter que trois syntaxes sont proposées pour exprimer le SAUF logique. Les majuscules sont obligatoires.

Terme obligatoire +agriculture économie

On peut rendre un terme ou une expression obligatoire à l'aide du préfixe +. Dans l'exemple ci-contre, le terme agriculture doit être présent pour obtenir un résultat de recherche, mais le terme économie peut être absent. A noter que cette requête retourne exactement le même ensemble de résultats que la requête agriculture. Toutefois, l'ordre de pertinence ne sera pas le même car les résultats avec le mot économie auront une plus grande pertinence que ceux qui ne l'ont pas.

Cette requête n'est pas équivalent à agriculture ET économie où les deux mots doivent être présents.

Terme interdit +agriculture développement -économie

On peut rendre un terme ou une expression interdit à l'aide du préfixe -. Dans l'exemple ci-contre, le mot agriculture doit être présent, mais le mot économie ne doit pas l'être pour obtenir un résultat. La présence du mot développement n'inflence pas l'ensemble de résultats mais l'ordre de pertinence.

Priorité et regroupement (économie OU agriculture) ET développement
+(économie OU agriculture) développement

En logique booléenne, si aucune parenthèse n'est utilisée, la priorité des opérateurs est : ET, OU, SAUF. Cette priorité est expliquée plus en détails dans l'aide sur la recherche avancée.

Pour modifier cet ordre, on peut utiliser les parenthèses, qui deviennent prioritaires par rapport à l'ordre de priorité par défaut.

Les parenthèses permettent également de regrouper des termes ou expressions, par exemple pour les rendre obligatoire (avec le préfixe +) ou pour les recherche dans un champ précis (avec le nom du champ comme préfixe, suivi du :).

Modification des termes et des expressions
Proximité "agriculture biologique"~10

L'ajout du suffixe ~ suivi d'un nombre permet d'exprimer une adjacence non stricte ou une proximité. Ainsi, les mots dans l'expression entre guillemets n'ont pas besoin d'être strictement adjacents, il peut y avoir jusqu'à un certain nombre de mots entre eux, ce nombre étant celui qui suit le caractère ~. Dans l'exemple ci-contre, les mots agriculture et biologique doivent être à un maximum de 10 mots l'un de l'autre pour obtenir un résultat.

L'opérateur de proximité fonctionne sur des phrases uniquement, donc lorsque les guillemets sont utilisés.

Troncature agri*
agriculture?

Le caractère * remplace 0 ou plusieurs caractèrres. Ainsi, la requête agri recherche à la fois les mots agriculture, agricole, etc.

Le caractère ? remplace 0 ou 1 caractère. Ainsi, la requête agriculture? recherche à la fois les mots agriculture et agricultures.

Ces caractères peuvent être utilisés plus d'une fois dans le même mot, et ils peuvent se retrouver partout dans le mot, pas uniquement à la fin.

Les caractères de troncatures ne fonctionnent que sur des termes (mots), pas dans les phrases ou les expressions exactes.

Recherche approximative gramineae~

Il est possible de faire une recherche approximative avec le suffixe ~. Il s'agit d'une approximation lexicale et non sonore. Cette approximation est calculée selon l'algorithme Levenshtein Distance ou Edit Distance.

Cette recherche approximative fonctionne mieux sur des mots de la langue anglaise que sur des mots de la langue française.

Amplification ogm^4.5 maïs

S'il y a plusieurs termes ou expressions dans une requête, ils sont par défaut considérés de manière équivalente pour le calcul de pertinence de chaque résultat. Il est possible de modifier ce comportement en utlisant le préfixe ^ suivi d'un nombre entier ou fractionnaire pour accorder plus ou moins d'importance au terme dans le calcul de pertinence.

Un terme non amplifié correspond à une amplification de 1.0. Ainsi, une amplification de 5 augmente l'importance alors qu'une amplification de 0.2 diminue l'importance du terme par rapport aux autres.

A noter que plusieurs caractères ont une signification particlière dans le langage de requête : + - && || ! ( ) [ ] { } | ^ " ~ * ? : \.

Pour recherche l'un de ces caractères, il faut l'échapper en le précédent d'une barre oblique inverse : \.

Par exemple, pour chercher le mot recherche-développement, on doit l'exprimer ainsi : recherche\-développement.