[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sdx-users] J'y étais presque...
From: |
Pierrick Brihaye |
Subject: |
Re: [sdx-users] J'y étais presque... |
Date: |
Thu, 23 Oct 2003 19:48:23 +0200 |
Salut,
Il y a tellement de questions et tellement d'inconnues que ça va être
difficile de répondre en l'état :-)
Premièrement : quelle version de SDX ? Je préviens que j'ai totalement
décroché de la 2.1 (et de la 1 ;-)...
> Prérequis :
> * prenom est un champ indexé de type field
> * w-prenom est un champ indexé de type word
Quel est l'analyseur ? Et d'ailleurs, n'en as-tu qu'un seul ? Je m'amuse
beaucoup en ce moment à vouloir utiliser 3 analyseurs différents :-)
> La requête linéaire (linearquery) lucene suivante
> prenom:a*
Euh... pas très linéaire ça :-) Pour info, je ne fais plus que des
SimpleQuery...
> Apparemment, pour obtenir toutes les variantes accentuées, la solution
> est de faire une requête combinant toutes les valeurs possibles séparées
> avec des opérateurs 'or' :
> (prenom:a) (prenom:â) (prenom:à) (prenom:A) (prenom:À)
Euh... c'est le prix à payer si tu ne veux pas analyser, non ?
Par contre, ce qui suit n'est pas probablement pas normal :
>La requête linéaire lucene suivante
>w-prenom:a*
>me retourne doc1 (prenom=arbre) et doc4 (prenom=Aline)
... car si tu as un comportement par défaut, à savoir un analyseur basé sur
fr (locale, langue, explicite...), l'analyseur français devrait utiliser le
"ISOLatin1AccentFilter" qui est censé appauvrir les diacritiques lors de
l'analyse : les autres documents devraient donc être remontés.
Mais bon... le problème est peut-être ailleurs, peut-être dans LinearQuery
ou Terms. Ou alors... tu cherches avec un analyseur qui n'est pas celui qui
a servi à l'indexation : utiliser éventuellement Luke pour voir ce qu'il y a
dans les index.
> C'est un peu lourd mais c'est faisable.
> (je l'ai fait, en écrivant un fichier XML qui dit pour chaque lettre
> majuscule de l'alphabet français, quelles sont les variantes majuscules
> et minuscules)
Un petit patch sur SDX ne serait-il pas mieux ? :-)
> Maintenant, si je souhaite avoir la liste des termes pour le champ
> "prenom" qui commence par a (et toutes ses variantes) comment puis-je me
> débrouiller. Apparemment, sdx:terms ne prend en compte que la première
> valeur du paramètre "value" ?
Euh... tu peux fournir les paramètres que tu passes à <sdx:terms> ?
Plus généralement, Lucene a beaucoup évolué ces temps-ci. En mieux, mais pas
autant qu'on aurait pu le souhaiter. Une bonne partie du code de SDX relatif
aux termes et aux requêtes (et qui remonte parfois à SDX 1) aurait peut-être
intérêt à être revue à la lumière des avancées de Lucene.
A+
p.b.
Re: [sdx-users] J'y étais presque..., Malo Pichot, 2003/10/24