sdx-users
[Top][All Lists]
Advanced

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

RE : [sdx-users] l'affectation d'un analyseur lucene dynamiquement


From: Martin Sevigny
Subject: RE : [sdx-users] l'affectation d'un analyseur lucene dynamiquement
Date: Thu, 14 Aug 2003 11:35:20 +0200

Bonjour,

> Est-il possible d'affecter un analyseur lucene dynamiquement 
> au momemt de 
> l'indexation d'un champ d'un document? 

Non.

> Voici la partie du document xml que j'aimerai bien indexer 
> avec sdx et 
> actuellement je ne trouve pas de solution directe : 
> 
> <comment author="aut001" xml:lang="fr-FR">
> ici un commentaire en français
> </comment>
> <comment author="aut001" xml:lang="en-GB">
> ici un commentaire en anglais
> </comment>
> <comment author="aut002" xml:lang="ar-EG">
> ici un commentaire en arabe
> </comment> 

La seule solution, c'est de prévoir autant de champs que de langues
escomptées, et évidemment d'affecter des analyseurs différents à chaque
champ.

Pourquoi? D'abord, il faut réaliser que l'analyseur est utilisé à
l'indexation, certes, mais aussi sur les requêtes de recherche
(simples).

Supposons que l'on puisse faire ce que tu demandes, et qu'un utilisateur
tape la requête suivante :

comment:(Français qsdljk Métro)

Quel analyseur utiliser pour analyser la chaîne "Français qsdljk Métro"
? Aujourd'hui, SDX (et c'est une amélioration par rapport à du Lucene
"brut") sera assez fin pour l'analyser avec l'analyseur déclaré dans le
xconf pour ce champs, mais si les analyseurs étaient choisis
dynamiquement au moment de l'indexation...

Personnellement, je n'ai jamais trouvé de réponse à cette facette du
multilinguisme, et je pense que je l'avais déjà écrit sur cette liste
jadis. Et en l'écrivant, ou en y réfléchissant, j'avais fini par me
poser cette question fondamentale : quelle est la signficiation
"documentaire" d'un champ où le contenu est analysé différemment?

On peut aussi procéder autrement. On pourrait se dire que SDX va créer
des champs différents (de manière transparent), de nom comment_fr-FR ;
comment_en-GB ; etc. Soit, on y avait pensé. Ca multiple les champs,
mais ce n'est pas très grave.

Mais que fait-on après? Si un utilisateur, dans une page où la langue
est "fr", effectue la requête ci-dessus, que devrait-il se passer?

On ne peut pas décider de chercher uniquement dans le champ
comment_fr-FR, car on perdrait des documents. La seule solution serait
de créer des critères (reliés par un OU) qui font la requête dans chaque
champ fictif correspondant à une langue. Soit, mais cette liste de
champs fictifs doit être maintenue à part par SDX, car Lucene ne peut
pas nous retourner les champs utilisés directement. Mais on peut
toujours y arriver.

Mais est-ce que cela donne des résultats intéressants et réalistes?
C'est là que je bloque, je ne suis pas arrivé à trouver des "use case"
où cette méthode donnerait des résulats intéressants.

Quelqu'un en voit? Nader, comment vois-tu l'usage de tes champs
multilingues? Comment trier les <sdx:terms> par exemple?

Pour conclure, rien n'est impossible, mais il faut y songer un peu, et
les contributions (au moins à la réflexion) sont bienvenues.

A bientôt,

Martin Sévigny





reply via email to

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