sdx-developers
[Top][All Lists]
Advanced

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

Re: [sdx-developers] Recherhes composites


From: Martin Sevigny
Subject: Re: [sdx-developers] Recherhes composites
Date: Fri, 03 Sep 2004 08:15:16 +0200
User-agent: Mozilla Thunderbird 0.6 (Windows/20040502)

Bonjour,

Au-delà de ça, SDX propose une très intéressante ComplexQuery pour effectuer diverses recherches et agréger les résultats dans un tout cohérent : les Results Lucene, capables d'aller chercher les champs brief.

Oui... mais je crois que l'agrégation va (malheureusement) plus loin :
jusque dans la requête!

Sans vouloir faire exploser la stratégique LuceneDocumentBase, je me demande dans quelle mesure on pourrait injecter autre chose qu'une Query Lucene dans une ComplexQuery.

L'objectif est intéressant, rien à redire.

Ce que je voudrais, en fait, c'est pouvoir injecter une requête SQL, récupérer ses résultats, en faire des Results Lucene (i.e. aller chercher les champs brief) et, éventuellement, pouvoir intégrer ça dans une ComplexQuery.

D'accord, mais si je ne me trompe pas, une ComplexQuery, peu importe le
nombre de composantes et leur nature (pour l'instant), se transforme en
une requête Lucene, qui est exécutée.

Donc si on veut avoir des composantes non Lucene dans une ComplexQuery,
il faut complètement revoir cette approche, et travailler l'agrégation
au niveau des résultats, et non au niveau des requêtes.

On a plusieurs problèmes :

recenser la connexion JDBC vers les source de données SQL. Quel est, à votre avis, le meilleur endroit pour le faire ?

Pour l'instant, on travaille toujours avec des "datasources" déclarées
dans cocoon.xconf. C'est pas trop compliqué de les récupérer par la
suite, via le manager de Cocoon.

faire en sorte que la SQLQuery renvoie des Results à la mode Lucene. Faut-il partir de Hits ou de ResultDocument(s) ? Concrètement, ne serait-il pas intéressant de pipeliner une query (en fait, sa représentation textuelle) pour, in fine, obtenir des ResultDocuments ?

Je ne sais pas... Mais en fait, à bien y penser, tu veux un lien fort
entre tes SQLQuery et des index Lucene, alors il faudrait peut-être
implémenter les SQLQuery au niveau de Lucene (ie une sous-classe de
Query de Lucene)? Dans ce cas, ça agirait au niveau des Hits je suppose.

Mais même ça je ne suis pas certain que ça marcherait. Une ComplexQuery
(SDX) = une BooleanQuery (Lucene), et je n'ai jamais regardé comment
était exécutée une BooleanQuery...

disposer d'un modèle Query/Results plus abstrait qui permettrait à chaque type de Query d'aller chercher les champs brief dans les index Lucene.

Je pense, effectivement, qu'on a besoin de généralisation ici...

Martin Sévigny







reply via email to

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