Solr QueryElevationComponent

solr

Solr grâce au composant QueryElevationComponent permet de définir des requêtes pour lesquelles un ensemble de documents précis (documents sponsorisés) est systématiquement retourné en tête de liste de résultat. Même si en théorie ces documents ne sont pas les plus pertinents pour la requête en question, il seront mis en avant. Pour cela, il faut configurer et inclure le composant « Query Elevation » dans la liste des composants utilisés par le handler de requêtes.

Les 2 éléments de configuration importants du composant QueryElevationComponent sont le fichier listant les requêtes et les documents à remonter en tête de résultats et le nom du type de champs à utiliser pour l’analyse de la requête de l’utilisateur.

La documentation détaillée concernant le paramètrage de ce composant est disponible sur la page « The Query Elevation Component » du Wiki Solr.

Je souhaite préciser l’utilisation du paramètre queryFieldType. Il s’agit du type de champs qui est utilisé pour analyser la requête utilisateur et donc la transformer au besoin. La documentation utilise en exemple un type « string » qui sera sans doute défini comme ceci :

En conséquence, la requête utilisateur ne subit aucune transformation et est passée telle quelle au composant QueryElevationComponent (pas de mise en minuscule par exemple).

Soit le fichier de configuration des requêtes qui contient :

Dans ce cas, seule la requête précise « ipod » fait remonter en tête de résultats le document « MA147LL/A ». « iPod » ou « Apple ipod » ne font pas remonter ce document en tête de résultats. Pour que ces 3 requêtes fassent remonter le document, il faut soit les déclarer toutes les 3 dans le fichier de configuration (ce qui n’est pas très efficace et peut devenir très lourd), soit utiliser un autre type de champs pour l’analyse de la requête utilisateur.

Déclarons le type « elevator » comme ceci  et utilisons le comme queryFieldType.

Si le fichier de mots vides « stopwords_elevator.txt » contient « apple », les requêtes « ipod », « iPod », « apple ipod » ou « Apple IPOD » sont toutes transformées en « ipod » et font donc remonter le document.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *