Syntaxe recherche

Salut,

Quelles sont les possibilités syntaxiques du moteur de recherche de Spip :
il fait apparemment une relation "OU" par défaut... peut-on faire une
recherche avec "ET" ou une recherche sur l'expression exacte ?

Merci

---
Patrice Bourlon
patrice.bourlon@online.fr
---

At 15:13 +0200 9/09/01, Patrice Bourlon wrote:

Salut,

Quelles sont les possibilités syntaxiques du moteur de recherche de Spip :
il fait apparemment une relation "OU" par défaut... peut-on faire une
recherche avec "ET" ou une recherche sur l'expression exacte ?

C'est un peu plus compliqué (et fonctionnement basique, en fait) que le choix entre OU et ET. SPIP effectue une recherche pour chaque mot et attribue un score (niveau de pertinence) pour chaque résultat. Ensuite il additionne les scores obtenus par chaque résultat avec les différents mots et classe en fonction de ce total.

Par exemple, la recherche "internet citoyen" va donner:

pour le mot "internet",
- article 1 -> 12 points
- article 2 -> 2 points
- article 3 -> 15 points

pour le mot "citoyen",
- article 2 -> 14 points
- article 5 -> 6 points
- article 1 -> 1 point

pour chaque article, il additionne les résultats et classe en fonction du total, ce qui donne:
(1) article 2 -> 2 +14=16 points
(2) article 3 -> 15 points
(3) article 1 -> 12+1=13 points
(4) article 5 -> 6 points

(bon, cela sur un nombre beaucoup plus important d'articles, évidemment).

  A priori, on pourrait penser que cela correspond à privilégier les résultats "ET" puis ensuite afficher les résultats "OU"; mais comme la pondération de chaque mot dans les articles (ce qui permet d'obtenir le score d'un article pour une recherche sur un mot) est très importante (beaucoup de "points" si le mot est dans le titre, moins de points si le mot est dans le corps du texte), un article ne contenant qu'un des mots de la recherche, mais avec une forte pondération (placé dans le titre par exemple) peut parfois passer devant un mot contenant plusieurs mots avec une faible pondération.

Quant à accepter que l'utilisateur détermine s'il veut choisir entre "ET" et "OU" ou forcer des expressions exactes, ça n'est pas au programme. Le moteur est déjà plutôt efficace (sur uZine, on arrive à trouver ce qu'on cherche sans difficulté, c'est donc que ça fonctionne pas trop mal), et a l'avantage d'être très rapide tel quel. De plus, 99,99% des requêtes sont des requêtes simples, il est vraiment très rare qu'un utilisateur se mette à faire des finesses avec un moteur de recherche.

Cas d'exception: justement votre site est utilisé par des visiteurs qui ont le besoin (à cause du contenu du site) et la compétence pour effectuer ce genre de recherche. Là, effectivement, le moteur interne atteindra rapidement ses limites. Dans ce cas, comme nous l'indiquons déjà: nous conseillons de passer par un outil spécialisé, tel htdig (c'est par exemple ce que fait le Monde diplomatique: c'est un très gros site, servant d'outil de recherches documentaires poussées - donc besoin d'un outil de recherche puissant: il utilise donc SPIP pour la mise en ligne du contenu, mais préfère htdig comme moteur de recherche).

Amicalement,
ARNO*

--
Le Scarabée : http://www.scarabee.com
uZine 2 : http://www.uzine.net

DH/DSS, 0x11930F0B, DEEB 602D B344 644B AF88 BF73 85F4 2297 1193 0F0B

Merci pour les explications.

Effectivement, la plupart des utilisateurs n'utilisent pas les opérateurs,
donc cela ne pose pas vraiment de pbm de ne pas pouvoir proposer une
"recherche avancée". Par contre, assez fréquemment, les utilisateurs tapent
plusieurs mots et dans ce cas, il me semblerait préférable de considérer par
défaut qu'il s'agit d'un "ET", ce que fait Google par exemple et pas mal
d'autres moteurs...
Enfin, vous avez raison, le moteur actuel de Spip tourne bien et sur un site
petit ou moyen, cela devrait être suffisant... mais peut-être le "ET" par
défaut dans une prochaine version ?

Cordialement

---
Patrice Bourlon
patrice.bourlon@online.fr
---

-----Message d'origine-----
De: spip-admin@rezo.net [mailto:spip-admin@rezo.net]De la part de ARNO*
Date: dimanche 9 septembre 2001 19:17
À: Patrice Bourlon; spip@rezo.net
Objet: Re: [Spip] Syntaxe recherche

At 15:13 +0200 9/09/01, Patrice Bourlon wrote:

Salut,

Quelles sont les possibilités syntaxiques du moteur de recherche de Spip :
il fait apparemment une relation "OU" par défaut... peut-on faire une
recherche avec "ET" ou une recherche sur l'expression exacte ?

C'est un peu plus compliqué (et fonctionnement basique, en fait) que
le choix entre OU et ET. SPIP effectue une recherche pour chaque mot
et attribue un score (niveau de pertinence) pour chaque résultat.
Ensuite il additionne les scores obtenus par chaque résultat avec les
différents mots et classe en fonction de ce total.

Par exemple, la recherche "internet citoyen" va donner:

pour le mot "internet",
- article 1 -> 12 points
- article 2 -> 2 points
- article 3 -> 15 points

pour le mot "citoyen",
- article 2 -> 14 points
- article 5 -> 6 points
- article 1 -> 1 point

pour chaque article, il additionne les résultats et classe en
fonction du total, ce qui donne:
(1) article 2 -> 2 +14=16 points
(2) article 3 -> 15 points
(3) article 1 -> 12+1=13 points
(4) article 5 -> 6 points

(bon, cela sur un nombre beaucoup plus important d'articles, évidemment).

  A priori, on pourrait penser que cela correspond à privilégier les
résultats "ET" puis ensuite afficher les résultats "OU"; mais comme
la pondération de chaque mot dans les articles (ce qui permet
d'obtenir le score d'un article pour une recherche sur un mot) est
très importante (beaucoup de "points" si le mot est dans le titre,
moins de points si le mot est dans le corps du texte), un article ne
contenant qu'un des mots de la recherche, mais avec une forte
pondération (placé dans le titre par exemple) peut parfois passer
devant un mot contenant plusieurs mots avec une faible pondération.

Quant à accepter que l'utilisateur détermine s'il veut choisir entre
"ET" et "OU" ou forcer des expressions exactes, ça n'est pas au
programme. Le moteur est déjà plutôt efficace (sur uZine, on arrive à
trouver ce qu'on cherche sans difficulté, c'est donc que ça
fonctionne pas trop mal), et a l'avantage d'être très rapide tel
quel. De plus, 99,99% des requêtes sont des requêtes simples, il est
vraiment très rare qu'un utilisateur se mette à faire des finesses
avec un moteur de recherche.

Cas d'exception: justement votre site est utilisé par des visiteurs
qui ont le besoin (à cause du contenu du site) et la compétence pour
effectuer ce genre de recherche. Là, effectivement, le moteur interne
atteindra rapidement ses limites. Dans ce cas, comme nous l'indiquons
déjà: nous conseillons de passer par un outil spécialisé, tel htdig
(c'est par exemple ce que fait le Monde diplomatique: c'est un très
gros site, servant d'outil de recherches documentaires poussées -
donc besoin d'un outil de recherche puissant: il utilise donc SPIP
pour la mise en ligne du contenu, mais préfère htdig comme moteur de
recherche).

Amicalement,
ARNO*

--
Le Scarabée : http://www.scarabee.com
uZine 2 : http://www.uzine.net

DH/DSS, 0x11930F0B, DEEB 602D B344 644B AF88 BF73 85F4 2297 1193 0F0B
_______________________________________________
spip mailing list
spip@rezo.net
http://listes.rezo.net/mailman/listinfo/spip