sdx-users
[Top][All Lists]
Advanced

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

Re: RE : [sdx-users] modification du pipeline d'indexation


From: Pierrick Brihaye
Subject: Re: RE : [sdx-users] modification du pipeline d'indexation
Date: Mon, 19 May 2003 12:21:24 +0200

Re,

> Pas compris où j'interviens, mais je suis intéressé par le use case
> annoncé? ;-)

Le voilà :-)

Soit le document :

<?xml version="1.0" encoding="UTF-8"?>
<document>
 <author>author</author>
 <date>date</date>
</document>

et la XSLT "fourre-tout" suivante :

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:sdx="http://www.culture.gouv.fr/ns/sdx/sdx";
xmlns:repo="http://www.culture.gouv.fr/ns/sdx/repository";
xmlns:db1="http://www.culture.gouv.fr/ns/sdx/documentbase";
xmlns:db2="http://www.culture.gouv.fr/ns/sdx/documentbase";>
 <xsl:template match="/">
  <sdx:multipurpose-chunk>
   <repo:document id="xxx">
    <xsl:copy-of select="/"/>
   </repo:document>
   <xsl:apply-templates/>
  </sdx:multipurpose-chunk>
 </xsl:template>
 <xsl:template match="author">
  <db1:field name="author">
   <xsl:value-of select="."/>
  </db1:field>
 </xsl:template>
 <xsl:template match="date">
  <db2:field name="date">
   <xsl:value-of select="."/>
  </db2:field>
 </xsl:template>
</xsl:stylesheet>

... qui transforme le document ainsi :

<?xml version="1.0" encoding="UTF-16"?>
<sdx:multipurpose-chunk xmlns:sdx="http://www.culture.gouv.fr/ns/sdx/sdx";
xmlns:repo="http://www.culture.gouv.fr/ns/sdx/repository";
xmlns:db1="http://www.culture.gouv.fr/ns/sdx/documentbase";
xmlns:db2="http://www.culture.gouv.fr/ns/sdx/documentbase";>
 <repo:document id="xxx">
  <document>
   <author>author</author>
   <date>date</date>
  </document>
 </repo:document>
 <db1:field name="author">author</db1:field>
 <db2:field name="date">date</db2:field>
</sdx:multipurpose-chunk>

On pourrait concevoir une XSP de ce type :

<sdx:uploadDocument base="aaa" urlParam="url" repo="xxx" type="text/xml">
  <sdx:pipeline>
    <sdx:transformation type="XSLT" src="fourre-tout.xsl"/>
    <sdx:indexer base="bbb" prefix="db1"/>
    <sdx:indexer base="ccc" prefix="db2"/>
  </sdx:pipeline>
<sdx:uploadDocument/>

... c'est à dire indexer un document dans plusieurs bases en même temps.
Naturellement, les <sdx:index> seraient des tranformations, éventuellement
d'identité, capable de mapper ce qui les concerne (utilisation du namespace)
sur un index Lucene.

On pourrait aussi concevoir, sur le même type, un pipeline de *réindexation*
(le voilà l'intérêt ;-) qui serait alimenté, par exemple par les résultats
d'une <sdx:xxxQuery> sur, disons, le champ sdxmodificationdate.

IMHO, pour être vraiment efficaces, ces transformateurs doivent être
paramétrables dynamiquement.

Voilà.

A+

p.b.










reply via email to

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