Aller au contenu

MAARCH DIGITAL FLOW

Bonnes pratiques : Rechercher avec Elasticsearch en texte intégral

Lors d'une recherche, les résultats affichés sont triés en fonction de leur pertinence.

La pertinence est un score attribué par le moteur de recherche aux contenus qui répondent aux critères ou aux filtres saisis par un utilisateur.

Le score attribué tient compte :

  • du nombre de mots trouvés correspondants

  • de leur importance (fréquence, rareté)

  • de leur emplacement (titre, contenu)

  • de leur proximité

  • de la précision de la correspondance

  • de la taille du document

  • du paramétrage du moteur (boost, stopwords...)

A propos des critères

Texte saisi par l'utilisateur composé d'un mot ou plusieurs mots, avec ou sans guillemets.

Les critères peuvent être saisi entre guillemets pour forcer une recherche exacte (phrase exacte si plusieurs termes sont saisis ou filtre si un ou plusieurs termes sont encadrés de guillemets)

  • L'ordre des termes saisis dans les critères à une importance dans le calcul de la pertinence, donc de l'ordre des résultats présentés, même si le nombre de résultats est similaire. (évaluation de la proximité)

Recherche exacte avec termes entre guillemets

La recherche exacte comme son nom l'indique ne retrouvera les critères saisis qui s'ils correspondent exactement à la phrase recherchée.

  • Pour 1 mot : mot exact, pas de résultats approchants

exemple "train"

  • Pour 1 phrase : phrase exacte sinon aucun résultat

exemple "petit train bleu"

Peut être utile par exemple dans le cadre d'une recherche d'une citation (ex : locution latine) où la phrase exacte est recherchée.

Il est possible de saisir certains termes entre guillemets pour les utiliser comme filtres :

exemple : petit train "bleu"

Le mot "bleu"" entre guillemets sera utilisé comme filtre : les résultats trouvés contiendront systématiquement ce mot.

Attention, les termes entre guillemets sont sensibles à la casse.

"Bleu" est différent de "bleu"

Utiliser les filtres en complément des critères pour réduire le nombre de résultats

La pertinence calculée par le moteur de recherche est "objective" en ce sens qu'elle s'appuie sur un algorithme statistique qui a fait ses preuves (BM25).

D'un point de vue utilisateurs, la pertinence peut être évaluée de façon subjective comme par exemple le souhait d'avoir en tête de liste les contenus les plus récents ou bien des documents seulement.

Le tri par date par exemple ne répond pas aux attentes car il se substitue au tri par pertinence et ordonne des résultats moins pertinents en tête des résultats affichés.

La solution est de positionner un ou plusieurs filtres sur la recherche. Ce seront bien les résultats les plus pertinents qui sont affichés en premier mais pour une période ou pour un type de document définis par l'utilisateur (ex : date de création, date de publication)

Recherche d'acronymes : privilégier les majuscules

La notation des acronymes se fait traditionnellement en utilisant des majuscules.

Le moteur ne renvoie pas un score de pertinence identique pour les recherche suivantes :

SNCF horaires trains

sncf horaires trains

A propos des filtres

Proposés dans un formulaire paramétrable, ils ciblent des champs précis.

Les filtres ou champs dans lesquels l'information sera recherchée (de manière exacte ou partielle en fonction du paramétrage) sont mis à disposition par un administrateur dans un ou plusieurs formulaires.

Ces formulaires peuvent être adaptés aux besoins métiers spécifiques de chaque utilisateur.

N'hésitez pas à en faire la demande auprès de votre administrateur fonctionnel !