Mercredi 06 05 2020 - lmichel/vo-grimoire GitHub Wiki

Mercredi 06/05/2020

Activités Réalisées :

  • Déplacement du choix de la mailing list
  • Modification des requêtes pour matcher plus de résultats
  • Ajout du choix entre une méthode OR ou AND pour les requêtes
  • Implémentation des requêtes par date
  • Modification de la recherche si pas d'attributs

Approfondissement Activités :

Déplacement du choix de la mailing list :

Pour choisir plus rapidement la mailing list, j'ai changé son emplacement pour pouvoir y accéder sans dérouler de menu.

Modification des requêtes pour matcher plus de résultats

Les précédentes requêtes n'étaient pas valides pour de la recherche car cela ne matcher que sur le mot exact, j'ai voulu donc le modifier pour qu'une partie du mot puisse matcher.

Voici un exemple : Je tape "ello" dans la barre de recherche et lances la requête : Le résultat peut retourner "Hello" ou "ElloWorld" mais pas "llo"

Cela permet d'avoir plus de résultats si la personne oublie une lettre au début ou à la fin du mot, à la manière du Ctrl+F sur les navigateurs

Ajout du choix entre OR et AND

De base, les requêtes sont fait sur la méthode du AND, tout les champs renseignés doivent être validés pour que l'élement puisse faire partie des résultats, j'ai donc ajouté le OR qui permet à l'utilisateur de définir le fait que un ou plusieurs des attributs doit matcher avec l'élement pour pouvoir le retourner.

Cela permet de personnaliser les requêtes et d'avoir des résultats plus pertinents selon la demande.

Pour réaliser cela, j'ai tout simplement ajouter un select entre OR et AND, n'ayant pas réussi à faire fonctionner les boutons de type radio.

Implémentation des requêtes par date :

Maintenant, en plus des attributs, on peut ajouter une date de début et de fin pour permettre à l'utilisateur de choisir une période donnée pour les mails. Cela a été rapide à mettre en place, tout simplement car j'avais déjà stocké dans l'index le timestamp de chaque message, il me suffisait donc juste de transformer les dates en timestamp pour modifier ma requête.

Modification de la recherche si pas d'attributs :

Si l'utilisateur ajoute des mots-clés dans la barre de recherche, cela créera une requête portant sur tout les champs de l'index, permettant de faire une recherche globale. J'ai dû également modifier mon code pour qu'il fonctionne quand l'utilisateur plusieurs mots dans un champ. Je fais simplement un split et traite chaque mot comme un champ à être vérifié lors de la requête.