[Top][All Lists]
[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