sdx-developers
[Top][All Lists]
Advanced

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

RE : [sdx-developers] Feature request ?


From: Martin Sevigny
Subject: RE : [sdx-developers] Feature request ?
Date: Tue, 3 Sep 2002 21:54:56 +0200

Bonjour,

-----
Voilà : je voudrais générer des sdx:results sans nécessairement passer
par une requête SDX via des tags du genre <sdx:createResults>,
<sdx:createResult id="xxx">... L'idée sous-jacente est de permettre
l'interfaçage depuis des appli externes (reuqêtes spatiales par exemple
;-). Bien sûr, ces sdx:results bénéfécieraient ensuite des
fonctionnalités offertes par le framework, en particulier un éventuel
caching, l'insertion des champs brief des documents inclus et -
peut-être  aussi - un (re)tri sdx.

Quels sont les problèmes que poseraient à priori l'implémentation de
cette fonctionnalité ?
-----

Ce qui me vient à l'esprit :

- les Results sont essentiellement construits autour de Hits (classe
Lucene) : ils offrent des services comme la pagination, le tri, la
XMLisation des résultats

- par conséquent, si on veut ce genre de choses, il faut permettre de
constuire des objets Results autrement que par l'exécution d'une requête
Lucene

La meilleure approche (je pense) serait de créer une classe qui étend
Results, avec des méthodes d'alimentation différentes. Quand on regarde
les méthodes de la classe, ce n'est pas un grand défi :

* Results(), enableLogging(), setUp pour construire
* count(), countPages() pour des infos sur le nombre de pages
* getDocIds() pour retourner les identifiants des documents
* getMaxScore() (s'il n'y a pas de pertinence on retourne une
constante...)
* getNavigationAsSAX() pour donner des indications sur les documents
précédents et suivants
* getQuery() => retourne une Query SDX, utilisé seulement par
AbstractQuery pour des basequery
* reSort() pour retrier
* setAllHits() et setHitsPerPage() pour le nombre de pages
* setId() pour donner un identifiant à la requête (appelé par la taglib)
* toSAX() pour sortir une représentation XML

C'est envisageable pour ton type de résultat?

Evidemment, avant de faire cela, il faudrait être orienté objet : on
définirait une interface Results, qui aurait une implantation Lucene et
ton implantation. Cette interface aurait les count(), docIds(), les
SAX(), setId() et reSort(), ou quelque chose comme cela.

Ensuite, si je comprends bien, tu veux manipuler cela par l'API XSP?
Donc développements dans la taglib, je les vois moins bien pour
l'instant.

Ca me fait penser à quelque chose : dans sdx:results, il faudrait
retourner un attribut tel que "type" avec valeur "lucene" (pour
l'instant)...

A bientôt,

Martin Sévigny





reply via email to

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