Recherche dans Panorama

Le module de recherche existe sous deux formes :

  • La recherche simple
  • La recherche avancée

Les deux types de recherche permettent une recherche sur les champs ainsi que sur leur contenu.

La recherche utilisée dans Workey est basée sur le moteur de recherche Lucene (Apache).

La recherche simple

La recherche simple est disponible, en forme de barre, en haut et au milieu de l’écran depuis l’interface utilisateur.

Il suffit de saisir le mot recherché pour obtenir toutes les actions qui le contient dans un des champs du processus.

La vue présente dans l’en-tête du tableau des fonctionnalités de tri et de filtre qui permettent d’affiner la recherche.

Il est possible d’effectuer une recherche sur tous les champs de la vue en saisissant le nom du champ suivi du deux-points (:) et du terme recherché :

Workey_Process : CONGES

Le résultat se présentera sous l’aspect d’une vue, de la manière suivante :

La liste des champs(colonnes) créés par défaut est la suivante :

Nom du champDescription
Workey_IdId du document
Workey_SubjectSujet du document
Workey_DoctypeType de document *
Workey_ProcessType de processus *
Workey_StateÉtat courant du document *
Workey_DateDate de création du document
Workey_FTContenu full-text de l’ensemble des champs du document.

La recherche avancée

La recherche avancée est accessible en cliquant sur le bouton « Afficher la recherche » présent sur la droite du menu de la recherche simple.

Une fenêtre en forme de formulaire apparait contenant les champs de la vue :

Le formulaire propose un ensemble d’éléments qui permettent d’affiner la recherche en utilisant plusieurs critères :

  • Type de processus
  • Type de document
  • Etat courant
  • Sujet
  • Du (date de création) Au (date de création) :
    • Permet de cibler sa recherche selon une date de début et une date de fin

La saisie de ces informations permet la spécification des champs à utiliser dans la requête ou bien des champs à utiliser à l’affichage de la vue de restitution.

L’utilisateur peut également à partir du formulaire de recherche avancée d’accéder à la recherche simple en saisissant le texte souhaité dans le champ « Texte ».

Les champs affichés

Il est possible d’ajouter ou supprimer des champs affichés par rapport aux champs existants dans le processus. Ces champs peuvent être sélectionnés à partir de la rubrique « Champs utilisés à l’affichage ». L’ordre d’affichage peut être également modifié en déplaçant le champ au début ou à la fin de la colonne « Champs affichés » à l’aide du curseur de la souris.

Le résultat affiché dans la vue issue de la recherche tiendra compte des filtres de recherche ainsi que des colonnes affichées.

Fonctionnement de la recherche et opérateurs de recherche

Cette section est fournie à titre informative pour les utilisateurs qui souhaitent approfondir ses connaissances sur les fonctionnalités du moteur de recherche utilisé dans Workey.

Le moteur de recherche (Lucene) permet d’utiliser certains opérateurs et de termes de recherche pour fournir un grand nombre d’options de recherche et affiner le résultat de la recherche.

Si par exemple dans le processus il existe deux champs, un nommé « Workey_Subject » et un autre nommé « contents » qui est le champ de recherche par défaut, il est possible de faire une recherche contenant le mot « La bonne manière » dans le champ « Workey_Subject » et utiliser le mot «évitez » pour obtenir toutes les actions contenant ces deux contraintes :

Workey_Subject: « La bonne manière » AND contents: évitez

ou

Workey_Subject:”manière” AND évitez

Comme « contents » est le champ par défaut, l’indicateur de champ n’est pas requis.

Conseil

Le champ ne désigne que le terme qu’il précède immédiatement. C’est pour cela que la recherche : Workey_Subject:manière d’aller au centre trouvera seulement les champs de titre contenant «manière». Elle trouvera également « d’aller au centre » dans le champ par défaut (dans ce cas, le champ full texte).

Recherche par caractères génériques

Il est possible de faire des recherches utilisant un ou plusieurs caractères génériques pour permettre de mieux cibler la recherche.

Pour effectuer une recherche portant sur un seul caractère, il est possible d’utiliser le symbole « ? ».

Pour effectuer une recherche portant sur plusieurs caractères, , il est possible d’utiliser le symbole « * ».

La recherche de caractère générique portant sur un seul caractère cherche les termes comportant le seul caractère remplacé. Par exemple, pour chercher « text  » ou « test », vous pouvez faire une recherche ayant la forme suivante :

te?t

Les recherches par caractère générique portant sur plusieurs caractères cherchent 0 ou plusieurs caractères. Par exemple, pour chercher « test », « tests » ou « tester », vous pouvez faire une recherche ayant la forme suivante :

test*

On peut également utiliser la recherche de caractère générique au milieu d’un terme.

te*t

Conseil

Il n’est pas possible d’utiliser le symbole « * » ou « ? » comme premier caractère d’une recherche

Recherches floues

Pour effectuer une recherche floue il est nécessaire d’utiliser le symbole tilde, « ~ », à la fin d’un terme comportant un seul mot. Par exemple, pour chercher un terme dont la forme est semblable à « itinérance » il suffit de saisir la recherche floue :

itinérance~

Cette recherche trouvera les termes comme itinérant et itinéraire.

Conseil

Le degré de pertinence augmentera automatiquement de 0,2 si on effectue une recherche floue.

Recherches de proximité

Lucene supporte la recherche de mots qui se trouvent éloignés les uns des autres d’une distance spécifique. Pour effectuer une telle recherche, utiliser le symbole tilde, « ~ », à la fin d’une expression. Par exemple, pour chercher une occurrence des mots « apache » et « jakarta » se trouvant à 10 mots ou moins l’un de l’autre dans un document, utiliser la syntaxe suivante :

“jakarta apache”~10

Recherches de plages de valeurs Les recherches de plages de valeurs permettent de trouver des documents dont la valeur d’un ou de plusieurs champs se trouvent entre les limites inférieure et supérieure spécifiées dans la recherche. Ces recherches sont inclusives (c.-à-d. que la recherche inclue les limites inférieure et supérieure spécifiées). Le tri est effectué en ordre lexicographique.

mod_date:[20020101 TO 20030101]

Cette recherche trouve les documents dont les champs mod_date ont des valeurs entre 20020101 et 20030101. Il est à noter que les recherches par plages ne sont pas réservées aux champs de date. On peut aussi utiliser des recherches par plages avec des champs autres que des champs de date :

subject:[Aida TO Carmen]

Cette recherche trouvera tous les documents dont les titre sont entre Aida et Carmen.

Augmenter le taux de pertinence

Lucene exprime le taux de pertinence des documents en se fondant sur les termes trouvés. Pour augmenter la valeur d’un terme, on utilise le symbole caret, « ^ », suivi du facteur d’augmentation de pertinence (un nombre) à la fin du terme que l’on recherche. La pertinence du terme est proportionnelle au facteur d’augmentation de pertinence.

En établissant des facteurs de pertinence, on peut contrôler la pertinence d’un document en augmentant le degré de pertinence des termes qu’il contient. Par exemple, si on cherche :

jakarta apache

et que l’on souhaite que le terme « jakarta » soit plus pertinent, on augmente son degré de pertinence en lui ajoutant le symbole ^ ainsi que le facteur d’augmentation de pertinence. On taperait donc :

jakarta^4 apache

Cela aura pour résultat que les documents contenant le terme jakarta seront indiqués comme plus pertinents. On peut aussi augmenter la pertinence d’expressions comme dans l’exemple suivant :

“jakarta apache”^4 “jakarta lucene”

Par défaut, la valeur du facteur d’augmentation de pertinence est 1. Bien que ce facteur doive être positif, il peut être inférieur à 1 (p. ex. 0.2)

Opérateurs booléens

Les opérateurs booléens permettent de combiner des termes au moyen d’opérateurs logiques. Lucene supporte AND, « + », OR, NOT et « – » comme opérateurs booléens

!Les opérateurs booléens doivent être entièrement en MAJUSCULES.

OR

L’opérateur OR (ou) est l’opérateur de conjonction par défaut. Cela signifie que s’il n’y a pas d’opérateur booléen entre deux termes, l’opérateur OR est utilisé par défaut. Cet opérateur relie deux termes et cherche tout document comportant l’un ou l’autre terme. Il s’agit de l’union dans les ensembles. Le symbole || peut être utilisé au lieu du mot OR.

Pour chercher des documents qui contiennent « jakarta apache » ou seulement « jakarta », on utilise la forme suivante :

“jakarta apache” jakarta

ou

“jakarta apache” OR jakarta

AND

L’opérateur AND permet de trouver des documents qui comportent les deux termes réunis par AND, mais qui peuvent se trouver n’importe où dans le texte d’un document. Il s’agit de l’équivalent de l’intersection avec les ensembles. Le symbole && peut être utilisé au lieu du mot AND.

Pour chercher les documents qui contiennent « jakarta apache » et « jakarta lucene », on utilise la forme suivante :

“jakarta apache” AND “jakarta lucene”

+

Le symbole « + », ou opérateur requis, exige que le terme suivant le symbole « + » existe dans un champ d’un document.

Pour chercher des documents qui doivent contenir « jakarta » et peuvent contenir « lucene », on utilise la forme suivante :

+jakarta apache

NOT

L’opérateur NOT exclue les documents qui contiennent le terme qui suit à la clause « NOT ». C’est l’équivalent de la différence dans les ensembles. Le symbole ! peut être utilisé au lieu du mot NOT.

Pour chercher les documents qui contiennent « jakarta apache », mais non « jakarta lucene », on utilise la forme suivante :

“jakarta apache” NOT “jakarta lucene”

!L’opérateur « NOT » ne peut pas être utilisé seulement avec un terme. Par exemple, la recherche suivante ne peut donner aucun résultat NOT “jakarta apache”

L’opérateur « – », ou d’exclusion, exclue les documents qui contiennent le terme suivant le symbole « – ».

Pour chercher les documents qui contiennent « jakarta apache », mais non « jakarta lucene », on utilise la forme suivante :

“jakarta apache” -“jakarta lucene”

Groupement

Le moteur de recherche (Lucene) supporte l’utilisation des parenthèses pour grouper des clauses afin de former des sous-requêtes. Cette fonction peut être très utile si on souhaite contrôler la « logique booléenne » d’une requête, c’est-à-dire l’utilisation de l’opérateur « ET » et « OU ».

Pour chercher « jakarta » ou « apache » et « website », on utilise la forme suivante :

(jakarta OR apache) AND website

Cela élimine toute confusion et vous assure que le mot « website » existe dans le document et que le terme jakarta ou apache peut exister.

Groupement de champs

Le moteur de recherche (Lucene) supporte également l’utilisation des parenthèses afin de grouper des clauses multiples en un seul champ. Pour chercher un titre qui contient le mot « retour » et l’expression « panthère rose », on utilise la forme suivante :

subject:(+retour +”panthère rose”)

Caractères spéciaux ignorés

Le moteur de recherche (Lucene) permet d’ignorer certains caractères spéciaux contenus dans la syntaxe de recherche. Ces caractères spéciaux sont actuellement :

+ – && || ! ( ) { } [ ] ^ ” ~ * ? : \

Pour ignorer un caractère il est nécessaire d’ajouter le symbole « \ » avant ce caractère. Par exemple, pour chercher (1+1) :2, saisir :

\(1\+1\)\:2