sdx-users
[Top][All Lists]
Advanced

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

Re: [sdx-users] Problème de classement pa r pertinence


From: Martin Sevigny
Subject: Re: [sdx-users] Problème de classement pa r pertinence
Date: Thu, 02 Dec 2004 08:00:22 +0100
User-agent: Mozilla Thunderbird 0.8 (Windows/20040913)

Bonjour,

J'ai un problème avec une application SDX multibase. Parmi ces bases, il y a
un annuaire de sites avec des titres et des contenus très courts. Du coup,
ils sont systématiquement placés au début de la liste de résultats, à cause
du tri par pertinence basé sur la longueur du texte. Comment éviter ça et
mettre plus en valeur les résultats des autres bases ?

Lucene supporte le concept de "boost". Essentiellement, on peut "booster" trois choses:

- un champ dans un document
- un document
- un critère de requête

Ces "boost" ont une influence sur le tri de pertinence.

Mais bon, SDX ajoute une couche à Lucene, et en SDX 2.2.1 tout ceci n'est pas complètement accessible. En fait, les deux premiers aspects sont accessibles mais non documentés, car pas réellement testés, mais vous pouvez essayer! Voir ci-dessous.

Toutefois, dans le CVS actuel (future 2.3), ça l'est. En gros, il faut ajouter des attributs là où on a du XML pour représenter ces concepts.

Pour les deux premiers, c'est dans la sortie de l'indexation:

<sdx:document id="" boost="2.0">
  <sdx:field name="title" boost="10.0">

Pour le troisième, c'est dans l'API XSP:

<sdx:executeComplexQuery>
  <sdx:simpleQuery boost="2.0"

Le boost par défaut est 1.0. On peut mettre moins ou plus. Toujours des nombres réels, le "." étant le séparateur des décimales.

J'ai écrit cela de mémoire, pas le temps de tester ou écrire plus.

En passant, on a ajouté cela à SDX exactement pour (tenter de) régler le problème que vous soulevez. L'application sur laquelle on pourra tester cela sera construite en début d'année prochaine (Aquitaine Patrimoines).

A bientôt,

Martin Sévigny





reply via email to

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