[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sdx-users] Navigation dans une liste hiérarchisée
From: |
Vincent.Leconte |
Subject: |
[sdx-users] Navigation dans une liste hiérarchisée |
Date: |
Wed, 12 Jul 2006 15:15:24 +0200 |
Bonjour,
Je cherche à afficher une liste de termes de manière hiérarchique avec SDX
Ma première idée consistait à crééer un critère par niveau de hiérarchie par
exemple Materiaux_1=Metal Materiaux_2=fer etc..
Ensuite je lance la liste sur Materiaux_1 puis celle sur Materiaux_2 avec un
filtre sur Materiaux_1 etc.. Ça marche impec sauf si on a plusieurs occurrence
de matériaux sur une notice (par exemple un objet en bois et en fer)
Après quoi je commence à m'interesser aux thésaurus de SDX, ça a l'air d'être
fait pour gérer ce genre de chose (entre autre).
Sauf que j'arrive pas à faire marcher mon Thésaurus :-(
En premier j'ai créé un fichier materiaux.xml qui ressemble à ça :
<?xml version="1.0" encoding="utf-8"?>
<thesaurus xmlns="http://sdx.culture.fr/thesaurus/1.0" id="materiaux">
<concept id="m001" xml:lang="fr">
<term>Bois</term>
<relations>
<relation type="NT" ref="m008"/>
</relations>
</concept>
[...]
<concept id="m006" xml:lang="fr">
<term>Métal</term>
<relations>
<relation type="NT" ref="m027"/>
<relation type="NT" ref="m028"/>
<relation type="NT" ref="m029"/>
<relation type="NT" ref="m030"/>
<relation type="NT" ref="m031"/>
<relation type="NT" ref="m032"/>
</relations>
</concept>
<concept id="m008" xml:lang="fr">
<term>Bois feuillus</term>
<relations>
<relation type="BT" ref="m001"/>
<relation type="BTS" ref="m001"/>
</relations>
</concept>
[...]
<concept id="m027" xml:lang="fr">
<term>Alliage cuivreux</term>
<relations>
<relation type="BT" ref="m006"/>
<relation type="BTS" ref="m006"/>
</relations>
</concept><concept id="m028" xml:lang="fr">
<term>Argent</term>
<relations>
<relation type="BT" ref="m006"/>
<relation type="BTS" ref="m006"/>
</relations>
</concept><concept id="m029" xml:lang="fr">
<term>Bronze</term>
<relations>
<relation type="BT" ref="m006"/>
<relation type="BTS" ref="m006"/>
</relations>
</concept><concept id="m030" xml:lang="fr">
<term>Fer</term>
<relations>
<relation type="BT" ref="m006"/>
<relation type="BTS" ref="m006"/>
</relations>
</concept><concept id="m031" xml:lang="fr">
<term>Laiton</term>
<relations>
<relation type="BT" ref="m006"/>
<relation type="BTS" ref="m006"/>
</relations>
</concept><concept id="m032" xml:lang="fr">
<term>Or</term>
<relations>
<relation type="BT" ref="m006"/>
<relation type="BTS" ref="m006"/>
</relations>
</concept>
</thesaurus>
Ensuite dans la feuille d'indexation je rajoute
<sdx:expandField>
<sdx:relation type="bt" depth="10" th="materiaux"/>
<sdx:relation type="bts" depth="10" th="materiaux"/>
<sdx:relation type="nt" depth="1" th="materiaux"/>
</sdx:expandField>
Dans le sdx:field des matériaux.
Pour finir dans le fichier application.xconf je rajoute
<sdx:transformation id="thes"
type="fr.gouv.culture.sdx.pipeline.FieldExpansionTransformation"
th="materiaux"/>
Dans le pipeline d'indexation
Puis :
<sdx:thesauri>
<sdx:thesaurus id="materiaux" type="lucene" src="materiaux.xml">
<sdx:repositories>
<sdx:repository type="HSQL" id="materiauxRepo" default="true"/>
</sdx:repositories>
<sdx:depth>10</sdx:depth>
<sdx:relations>
<sdx:relation>bt</sdx:relation>
</sdx:relations>
<sdx:fieldList xml:lang="fr-FR" variant=""
analyzerConf="/sdx/resources/conf/analysis/fr.xml">
<sdx:field name="term" type="word" brief="true"
default="true">
<sdx:name xml:lang="fr-FR">Term</sdx:name>
</sdx:field>
<sdx:field name="fterm" type="field" brief="true">
<sdx:name xml:lang="fr-FR">Term TYPE
Field</sdx:name>
</sdx:field>
<sdx:field name="bts" type="field" brief="true">
<sdx:name xml:lang="fr-FR">Broader
TermS</sdx:name>
</sdx:field>
<sdx:field name="bt" type="field" brief="true">
<sdx:name xml:lang="fr-FR">Broader
Term</sdx:name>
</sdx:field>
<sdx:field name="nt" type="field" brief="true">
<sdx:name xml:lang="fr-FR">Narrower
Term</sdx:name>
</sdx:field>
</sdx:fieldList>
</sdx:thesaurus>
</sdx:thesauri>
en fin de fichier
Je rajoute évidemment <sdx:expandQuery th="materiaux" depth="10"
relation="bt"/> à l'intérieur de mes requètes sur le champ matériaux mais rien
n'y fait.
Aurais-je oublié (ou mal compris) quelque chose?
Merci d'avance,
Vincent Leconte
Mobydoc
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [sdx-users] Navigation dans une liste hiérarchisée,
Vincent.Leconte <=