sdx-users
[Top][All Lists]
Advanced

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

Re: [sdx-users] Ajout d'informations à une base existante


From: Pierrick Brihaye
Subject: Re: [sdx-users] Ajout d'informations à une base existante
Date: Thu, 06 Feb 2003 09:24:57 +0100
User-agent: Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.1) Gecko/20020823 Netscape/7.0

Bonjour,

Réponses provisoires qui mériteraient plus de réflexion...

Emmanuel Bégué a écrit:

Plusieurs questions ont déjà été posées sur le sujet,
mais pour en avoir le coeur net: il n'est pas possible
d'ajouter des informations à un index sans réindexer
le ou les documents concernés?

A moins de coder, non. SDX 1.1 possédait une méthode reIndex() très utile ; ce n'est pas (encore) le cas pour SDX 2. Vous pourrez lire prochainement mon avis sur la question... qui recoupe en partie vos besoins.

En attendant, considérez la réponse de Martin sur l'utilisation de plusieurs bases dont une est considéré comme "principale". Je m'explique :

Vous créez une base A qui est la base "principale" : elle contient l'entrepôt où sont physiquement stockés les documents (si tant est l'entrepôt ne soit pas de type URL). Cette base comprendrait aussi les index à faible variabilité (i.e. relative au contenu du document, plein texte par exemple)

Ensuite, vous créez une base B qui contient un entrepôt URL... pointant sur la base A. Dans cette base, vous mettez vos index "variables". Ils devraient être assez petits et donc le rechargement devrait se faire assez vite. Un peu "hack" mais je ne vois pas de meilleure solution pour l'instant.

Par analogie avec une base de données, et pour prendre
un exemple assez absurde qui consisterait à vouloir
ne prendre que les documents parus un mois pair, je
voudrais faire qqch du genre:
        update documents set moispair=1 where mois=2

c'est à dire rajouter une information qui est en réalité
déduite des informations déjà présentes en "base".

A priori, assez facile : vous recherchez des documents (l'équivalent de WHERE) et vous les recherges (i.e. réindexez) en passant un <xsl:param> dans une XSL dynamique (v. sdxworld) ; ce serait l'équivalent de SET

Ai-je une autre solution que réindexer tous les documents
avec un champ sdx:moispair ? (calculer la parité du mois
a posteriori sur les résultats de la recherche ne serait
pas fonctionnellement équivalent).

Je reconfirme que non... ou alors, vous codez.

Par ailleurs, peut-on chercher dans un champ de type "date"
en full text? j'essaie de faire
        results.xsp?q=dateParution:(1995/12/30)

Mmmh. Regardez comment SDX a interprété la LuceneQuery ; ça devrait vous donner des éléments de réponse...

qui ne donne aucun résultat, ou
        results.xsp?q=dateParution:(1995/12/30 00:00:00)

qui produit une exception

Laquelle ? Ceci est un bug IMHO.

(Sachant que les recherches sur intervalles de dates ne
fonctionnent apparemment pas sur mon install de sdx).

Je sais... toujours pas trouvé là où ça coince.

A bientôt,

--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden





reply via email to

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