sdx-developers
[Top][All Lists]
Advanced

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

Re: RE : [sdx-developers] Etat des questions


From: Pierrick Brihaye
Subject: Re: RE : [sdx-developers] Etat des questions
Date: Sun, 2 Nov 2003 09:32:33 +0100

Salut,

>En fait, tu voudrais faire une expansion de la requête avec ton
>analyseur.

On peut effectivement le voir comme ça. Ceci dit, il faut voir ce qu'on
entend pas une "expansion". Pour moi, ça consiste à *ajouter* des termes.
Exemples :

On a un outil qui permet de retrouver "mice" si "mouse" est donné : mouse ||
mice
Ou un thésaurus qui permet de trouver des spécifiques ; si "country" est
donné, on va avoir : country || France || USA

Dans les 2 cas, on recherche bien un terme "de base" et on lui adjoint N
autres termes.

Or, en arabe (ou dans quelques autres langues qui seraient susceptibles de
subir un traitement identique), on ne recherche *pas* le terme de base.
Celui-ci n'existe que comme "point d'entrée" pour trouver d'autres termes
qui ont une forme plus "canonique". Ca offre d'ailleurs des perspectives
très intéressantes sur ce que l'on pourrait considérer comme une analyse
performante ; j'en reparlerai...

> Je ne suis pas d'accord que le QueryParser est le bon
>endroit.....?

Moi je veux bien mais le QueryParser de Lucene faisant bel et bien appel à
des analyseurs de champs (ça sera encore mieux avec Lucene 1.3 et ses
"per-field" analyzers), je ne vois pas pourquoi on ne pourrait pas
bénéficier de cette possibilité.

De plus, le but de ce QueryParser est bel est bien de renvoyer des Query
"atomiques". Un processus d'expansion (ou de transformation) différé
contreviendrait à cet objectif IMHO.

J'ajoute que Erik Hatcher a reconnu que les tokenPosition égaux à 0 lui
paraissent pertinents et que l'on peut donc s'attendre à ce que le
QueryParser standard de Lucene intègre cette préoccupation (je peux leur
envoyer le patch quand j'en aurai fini avec les quelques problèmes qui
restent). En revanche, il ne voit pas l'intérêt des TokenPosition > 1. Moi
je le vois, en particulier pour les langues agglutinantes (basque, turc..).
Mais il faudrait auparavant inventer un concept de "proximité orientée"
(pour l'instant la proximité ne l'est pas) : un truc du genre :

"prefix suffix"~+2
...qui serait étendu comme :
prefix * * suffix.

J'ajoute que travailler avec le QueryParser permet (relativement) simplement
de bénéficier de la syntaxe Lucene qui, ma foi, me semble assez performante.

C'est un gros point de doctrine : la discussion est ouverte :-)

A+

p.b.






reply via email to

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