[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sdx-users] Recherche par ch amp / transmission de paramètres
From: |
Pierrick Brihaye |
Subject: |
Re: [sdx-users] Recherche par ch amp / transmission de paramètres |
Date: |
Fri, 17 Jan 2003 11:37:38 +0100 |
User-agent: |
Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.1) Gecko/20020823 Netscape/7.0 |
Re,
Pierrick Brihaye a écrit:
La recherche par champ telle que décrite dans la documentation
de SDX1, à savoir:
titre:mot_recherche
ne semble pas fonctionner dans sdxworld
Exact. Je vais regarder...
Voici la réponse :-) En fait, je pressentais ce qui se passait, mais je
voulais en avoir confirmation...
Voilà : l'index "titre" est de type "field", c'est à dire que sa valeur
est stockée *telle quelle a été définie à l'indexation*. Elles n'est ni
tokenisée, ni analysée (remplacement des majuscules, suppression des
accents, suppression des mots vides...)
Dans ces confitions, une question :
titre:algerie
... ne pourra pas fonctionner car c'est "Algérie" qui est normalement
stocké dans l'index (à vous de revoir votre XSL d'indexation si vous
voulez stocker "algerie" alors que le document comporte "Algérie").
Par ailleurs, une SimpleQuery passe directement la requête dans le
QueryParser de Lucene. C'est d'ailleurs pour cela qu'elle s'appelle
"SimpleQuery", parce qu'elle est simple... pour les programmeurs :-)
Le problème (mais c'est aussi son avantage !) du QueryParser de Lucene
est justement qu'il analyse la question. Ainsi, une SimpleQuery de ce
genre :
titre:Algérie
... ne donnera rien non plus car, ici, le QueryParser va la transformer en :
titre:algerie
A partir de là :
- soit vous déclarez l'index titre en index de type "word" (n'oubliez
pas de réindexer !)
- soit vous vous interdisez d'utiliser des SimpleQuery. Pour les index
de type "field". Utilisez des FieldQuery : elles sont faites pour ça.
- soit vous patientez pour qu'on ait un QueryParser plus intelligent. Je
m'y étais essayé sous SDX 1 ; ce n'est pas de la tarte.
Exercice pratique (qui m'a servi à la confirmation), pourquoi la
SimpleQuery :
titre:Bi*
renvoie-t-elle des résultats ?
A bientôt,
--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden