sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sdx-users] relance sur pb. Listquery + pb. sur recherche expand que


From: Malo Pichot
Subject: Re: [sdx-users] relance sur pb. Listquery + pb. sur recherche expand query thesaurus
Date: Thu, 22 Jul 2004 14:23:49 +0200
User-agent: Mozilla Thunderbird 0.7 (X11/20040615)

Pierrick Brihaye wrote:

zaghouane samir a écrit :

je me suis mal exprimé, il faut lire il s'avère que la
recherche est lancée(ou réagit) sans l'expansion alors
que celle-ci figure bien dans la .xsp : Il faut noter que c'est la même .xsp :
recherche_thesaurus.xsp qui est exécutée.

Je dirais ceci : le comportement actuel de l'expansion d'une requête dépend du type de champ de la requête que l'on souhaite étendre. Je m'explique :

Je veux rechercher le terme "architecture" dans un champ "Field" "ftheme". J'étends cette requête avec un ExpandQuery qui me ramène une liste de terme (p.e. style, genre, etc.). Cette requête fonctionne car mon champ d'indexation "Field" possède bien un terme "architecture".

Je fais la même requête mais avec le terme "Architecture". Le terme avec la majuscule n'existe pas dans mon champ "Field". La requête (sans expansion ne ramène aucune réponse). L'expansion de cette requête ne construit aucune liste de terme. Ca peut paraître bizarre, car mon thesaurus (une base de document SDX) possède deux champs pour indexés les termes: "fterm" de type "Field" et "term" de type "Word". J'ai donc bien, dans cette base de document, un terme "architecture" et un terme "Architecture".

Sauf erreur d'analyse, le comportement que je décrit ici prouve que l'ExpandQuery effectue une requête dans le thésaurus sur le même type de champ que la requête dont elle dépend.
Je pense que c'est le comportement que vous expérimentez ici.

Encore une chose, je fais une FieldQuery sur un champ "Word" (c'est pas bien, mais je fais un test :-)). Je recherche "Panetius de Rhodes" (il y a ça dans mon thésaurus...). J'étends cette requête avec un thésaurus. SDX renvoie une requête avec "panetius de rhodes" et une liste de termes provenant du thésaurus : stoicien, poetes, etc. Je fait la même requête sur un champ "Field" (c'est mieux :-)). SDX renvoie une requête avec "Panetius de Rhôdes" et une liste de termes provenant du thésaurus : Stoïcien, Poétes, etc.

On voit deux choses ici :
1. SDX a voulu corriger mon erreur en ne respectant pas le type de requête que j'ai choisi (une FieldQuery où normalement, je ne veux pas faire entrer l'analyseur de mots). Ce n'est pas un comportement que j'apprécie beaucoup, mais ce n'est pas le propos

2. L'ExpandQuery suit elle aussi ce comportement en effectuant la recherche dans le type de champs du thésaurus correspondant au type de champ de ma requête. C'est un peu une conclusion en forme de porte ouverte, mais ça me semble pas mal de le rappeler :-)


<snip />
Note : votre opérateur "and" est *peut-être* le cause immédiate de votre problème. En effet, il y a a priori peu de chance pour que la requête :

Je ne le crois. Nous avons levé, à ce sujet, un bogue dans SDX : l'opérateur de la requête n'agit pas sur la liste de termes retournée par l'ExpandQuery.

En revanche, il va falloir que je regarde en détail le code d'expansion de requête. Il semble bien que celui-ci n'ait pas prévu l'utilisation de champs de type Field. Si c'est le cas, c'est un bug qu'il va falloir corriger.

Je ne pense pas qu'il y ait de problème de ce côté. Nous avons, ici, une application qui tourne avec des thésaurus et l'utilisation de l'ExpandQuery sur un champ "Word" ou "Field" fonctionne.

--
Malo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]