sdx-users
[Top][All Lists]
Advanced

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

Re: [sdx-users] simpleQuery / complexQuery: performances?


From: Pierrick Brihaye
Subject: Re: [sdx-users] simpleQuery / complexQuery: performances?
Date: Tue, 18 Feb 2003 10:22:21 +0100
User-agent: Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.1) Gecko/20020823 Netscape/7.0

Bonjour,

Frédéric Glorieux a écrit:

ou plutôt parsedQuery ?

Voui :-)

> Expliqué comme ça, je comprends mieux

Bien :-) Seulement, il y a un hic :

Rappel préliminaire : Lucene analyse les champs déclarés comme tokenisés et, réciproquement, n'analyse pas les champs qui ne le sont pas... et cela génère pas mal d'incompréhensions sur le fonctionnement de la SimpleQuery.

Exemple pratique, la Simple query :
champ1:bla bla
et en fait interprétée comme :
champ1:bla champ_par_defaut:bla
ou, en plus complet :
champ1:bla OR champ_par_defaut:bla
... si l'opérateur par défaut est OR (on peut désormais le changer).

J'ai en fait du mal à comprendre le design de Lucene ou, plutôt, j'ai du mal à comprendre pourquoi il en resté à ce qui est pour moi un défaut de jeunesse : en gros, on détermine *un* analyseur (<sdx:fieldList analyzerConf="xxx">) au niveau de l'IndexWriter (http://jakarta.apache.org/lucene/docs/api/org/apache/lucene/index/IndexWriter.html), ce qui revient à dire au niveau du *document* d'indexation.

Le fait qu'on n'ait a priori *qu'un seul* analyseur est pour moi un gros frein au multilinguisme. En gros, il vaut mieux avoir un jeu index (une "base de documents" dans le monde SDX) par langue... ou, pour être plus rigoureux, un jeu d'index par *méthode d'analyse*. En effet, pour une même langue, on pourrait très bien concevoir plusieurs méthodes d'analyse et, dans ces conditions, je m'étonne donc que l'on n'ait pas la possibilité d'analyser au niveau du *champ*.

Certes, on peut coder pour le faire. Réciproquement, si on code, on se doit d'être extrêmement vigilant sur la cohérence entre *les* analyseurs utilisés en indexation et ceux utilisés en recherche, mais ça, c'est dans le contrat :-)

Point supplémentaire : je ne comprends pas la possiblité qui est offerte de stocker des champs (ou plutôt leurs termes) dans les index (<sdx:field brief="true">)... puisque ceux-ci sont quoi qu'il en soit stockés dans le "dictionnaire" de Lucene (enfin, sauf sans doute ceux qui sont Stored/Unindexed et qui n'ont pas été repris dans l'univers SDX).

M'enfin, Lucene et libre et dispose d'une communauté importante. Je pense que les choses vont dans le bon sens...

> et je me demande si je ne deviens pas d'accord.

... ce qui n'a aucun caractère obligatoire :-)

A bientôt,

--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden





reply via email to

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