sdx-users
[Top][All Lists]
Advanced

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

RE: [sdx-users] questions sur sdx:terms


From: Castonguay Dave
Subject: RE: [sdx-users] questions sur sdx:terms
Date: Thu, 14 Oct 2004 10:36:45 -0400

Merci pour les réponses,

> Une autre question relative au sdx:terms mais aussi a d'autre type de query, 
> est-ce que l'operateur "TO" de Lucene est >>>><supporté pour les champs 
> textes? J'ai été capable de l'utiliser avec une executeSimpleQuery sur un 
> champ date, mais je <n'arrive a rien avec le champs "field" ou "word"... 
> L'idée serait pour un sdx:terms de permettre l'affichage d'une plage de 
> <valeur dans le genre: <sdx:terms field="sujet" value="[Amazone TO B*]">... 
> Vous croyez que c'est possible? 

<Si tu écris "relative au sdx:terms mais aussi a d'autre type de query",
<c'est que confonds effectivement le concept d'une "liste de valeurs d'un
<index" (sdx:terms) d'une requête de recherche.

Ok, je generalisais peut-etre un peu beaucoup :) Je comprend que sdx:terms est 
seulement un liste de termes dans un index... 
Je ne confondrai plus ;) C'est seulement que étant donné que sdx:terms supporte 
tout de même la truncature (*), j'espérais pour d'autres fonctionnalités.

<Peux-tu nous dire ce que tu essaies d'obtenir comme résultat ou
<fonctionnalité? Il y a peut-être d'autres pistes.

En fait, je veux permettre de naviguer dans les documents selon les valeurs 
pour un champ. Si vous connaissez, c'est la fonction navigation de XtoGen. 
J'affiche la liste des valeurs pour un champs et je peux voir la liste des 
documents pour chaque valeur. Par contre, je voudrais permettre des filtres. 
Entre autre, en entrant un mot, je me deplace sur la première valeur commençant 
par ce mot et je l'affiche ainsi que toutes les valeurs qui suivent par ordre 
alphabetique... Par exemple, si j'entre "amazone", je devrais avoir la liste 
des valeurs telles que: Amazone, Amour, Avion, .... C'est pourquoi j'avais 
pensé à l'opérateur "TO". Mais comme c'est pas possible avec sdx:terms, je 
crois je devrai faire mon filtre dans le XSL... Mais là, je crois que je 
boussilerais la navigation par page. Avez-vous d'autres idées?
                                                                

<Quant à l'opérateur TO, c'est du Lucene, non? Ca devrait marcher, mais
<je ne suis pas certain qu'il fait vraiment ce que tu cherches...

Je retire ce que j'ai dit :) L'opérateur fonctionne très bien. 

Au fait, comment peut-on faire une requete (une vraie ;) ) sur un index de type 
"Field" mais avec un truncature... Je m'explique, j'ai un champ (sujet) indexer 
"Field". Je fais un sdx:executeSimpleQuery avec:

query=sujet:|Guerre| ---> Ca fonctionne, j'ai tous les docs qui ont Guerre (tel 
quel) comme sujet.

query=sujet:[Guerre* TO H*] ---> Ca fonctionne, tous les docs qui ont un sujet 
alphab`tiquement compris entre Guerre (donc incluant Guerre, Guerre Mondiale, 
Guerre Spatiale,...) et tout les mot commencant par H.... (Cette requête n'a 
pas vraiment de sens, c'est seulement pour montrer que la truncature fonctionne 
ici)
 
query=sujet:Guerre*
ou 
query=sujet:"Guerre*"
ou
query=sujet:|Guerre*|
et bien d'autres...

Pour ca, je n'ai aucun résultats :(

Bien sûr ca fonctionne si je fais une sdx:executeFieldQuery... Mais la requete 
que je fais utilise un simpleQuery parce que je construit la requete en format 
Lucene (champ1:mot1 champ2:mot2 champ2:mot3). La raison est que je fais ma 
requete sur un nombre X de champs, les champs/valeurs ne sont connus qu'au 
moment ou j'envoie ma requete... Donc j'intercepte avec du Java les paramètre 
et je construit une chaine Lucene. J'ai bien pensé faire quelque chose du genre:

sdx:executeComplexQuery
        xsp:logic
                for (i < nbrchamps) {

                        ... (logi Java d'extraction des paramètre)

                        sdx:fieldQuery fieldString="chaineJava1" 
valueString="chaineJava2"

                }

        /xsp:logic
/sdx:executeCoplexQuery

Mais mes premier tests n'étaient pas concluants (lire ca fout le camp partout).

Alors ma question, est-ce qu'il a moyen (autrement que avec un fieldQuery) de 
faire une requete sur un champ indexer "Field" en specifiant un valeur avec 
truncature: champ:valeur* ?

Voilà! Merci et bonne journée à tous!

Dave



Bonjour,

> Je fais mon sdx:terms sur un champ de type "field", les termes résultants 
> sont donc les valeurs telles qu'elles sont dans mes documents.

Plus précisément, telles qu'elles ont été fournies à SDX par le pipeline
d'indexation.

> Si dans mon sdx:terms, je specifie un parametre value=*nouvelle*. Dans les 
> résultats j'ai effectivement tous les termes contenant "nouvelle". Le hic, 
> c'est que je n'ai pas ceux qui contiennent: Nouvelle.

Eh non. Ce n'est pas une fonctionnalité de recherche...

> La question est, est-ce qu'il y a moyen de "désactiver" la sensibilité à la 
> case?

Non.

> J'ai des doutes, alors j'ai pensé utilisé un opérateur "ou" dans mon 
> sdx:terms en specifiant: value="*nouvelle* *Nouvelle*"

Toujours pas. On peut considérer que cette "recherche" se fait sur les
termes dans leur globalité, il n'y a pas de séparation par mots.

> Mais ça semble pas fonctionner, je dois déduire que le sdx:terms ne supporte 
> pas les opérateurs (j'ai rien trouvé <a ce sujet)?

Ce n'est pas des requêtes de recherche, donc pas d'opérateur, non.

> La dernière solution serait alors de lancer deux (2) "sdx:terms" distincts 
> l'un après l'autre dans le même xsp. Sauf que là, j'ai aucune idée à quel 
> genre de résultats je vais obtenir... De quoi aura l'air le XML généré? 
> Est-ce qu'il y a moyen de "fusionner" les résultats des 2 sdx:terms? 

Il y aura deux éléments <sdx:terms> avec leurs <sdx:term> à l'intérieur.
Ca peut se travailler...

> Une autre question relative au sdx:terms mais aussi a d'autre type de query, 
> est-ce que l'operateur "TO" de Lucene est supporté pour les champs textes? 
> J'ai été capable de l'utiliser avec une executeSimpleQuery sur un champ date, 
> mais je n'arrive a rien avec le champs "field" ou "word"... L'idée serait 
> pour un sdx:terms de permettre l'affichage d'une plage de valeur dans le 
> genre: <sdx:terms field="sujet" value="[Amazone TO B*]">... Vous croyez que 
> c'est possible? 

Si tu écris "relative au sdx:terms mais aussi a d'autre type de query",
c'est que confonds effectivement le concept d'une "liste de valeurs d'un
index" (sdx:terms) d'une requête de recherche.

Peux-tu nous dire ce que tu essaies d'obtenir comme résultat ou
fonctionnalité? Il y a peut-être d'autres pistes.

Quant à l'opérateur TO, c'est du Lucene, non? Ca devrait marcher, mais
je ne suis pas certain qu'il fait vraiment ce que tu cherches...

A bientôt,

Martin Sévigny





_______________________________________________
sdx-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/sdx-users




reply via email to

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