[spip-dev] Recherche de plusieurs mots avec la fonction AND

Bonjour à tous

En cherchant la solution à mon pb avec le moteur de recherche, je me suis aperçu que la sémantique de la chaine de recherche n'était pas tjs la même:
- dans l'espace public, rechercher "x y" veut dire rechercher "x" ou "y"
- dans l'espace privé, rechercher "x y" cherche "x" ou "y" dans les données indexées, et recherche "x" ET "y" dans les champs principaux des objets Spip.

Ne pourrait-on avoir dans l'espace public cette recherche de "x" ET "y" dans le texte? On pourrait l'activer par une syntaxe comme "x+y"...
Bien sûr ce serait mieux d'avoir cette recherche effectuée sur les données indexées... mais c'est plus coton à réaliser...

A+
    François

Bonjour,

En cherchant la solution à mon pb avec le moteur de recherche, je me
suis aperçu que la sémantique de la chaine de recherche n'était pas tjs
la même:
- dans l'espace public, rechercher "x y" veut dire rechercher "x" ou "y"

Non, pas tout à fait.

- dans l'espace privé, rechercher "x y" cherche "x" ou "y" dans les
données indexées, et recherche "x" ET "y" dans les champs principaux des
objets Spip.

Je crois que c'est un WHERE toto LIKE tata juste dans l'espace privé.

Ne pourrait-on avoir dans l'espace public cette recherche de "x" ET "y"
dans le texte? On pourrait l'activer par une syntaxe comme "x+y"...
Bien sûr ce serait mieux d'avoir cette recherche effectuée sur les
données indexées... mais c'est plus coton à réaliser...

Pour l'instant ce n'est pas d'actualité je crois d'où des solutions tierces :
avec mots clefs : http://www.netdeveloppeur.com/article_texte.php3?id_article=34

ou via un autre moteur de recherche :

<troll>
C'est sûr que le moteur de recherche actuel est un gros point faible de spip. La preuve : Agora n'en a pas voulu. :wink:
</troll>

<troll>
C'est sûr que le moteur de recherche actuel est un gros point faible
de spip. La preuve : Agora n'en a pas voulu. :wink:
</troll>

A l'époque de la conception de SPIP-Agora, SPIP n'indexait pas du tout les pièces jointes, d'où l'utilisation (possible, pas obligatoire) d'un moteur externe, mais uniquement pour ces pièces jointes.

Le moteur de recherche de SPIP était utilisé pour tous les autres contenus, bien entendu, puisqu'il est plus pertinent qu'un moteur externe qui n'a aucune idée de l'importance relative des différents éléments de la structure de contenus.

Par contre, je pense, comme je l'ai déjà exprimé, que la pertinence du moteur de SPIP pourrait être améliorée sans que cela nécessite de la part de l'internaute un effort supplémentaire à base de "+" ou "AND" dans sa requête :

<http://article.gmane.org/gmane.comp.web.spip.devel/35529&gt;

-Nicolas

Nicolas Hoizey a écrit :

<troll>
C'est sûr que le moteur de recherche actuel est un gros point faible
de spip. La preuve : Agora n'en a pas voulu. :wink:
</troll>
    
A l'époque de la conception de SPIP-Agora, SPIP n'indexait pas du tout les pièces jointes, d'où l'utilisation (possible, pas obligatoire) d'un moteur externe, mais uniquement pour ces pièces jointes.

Le moteur de recherche de SPIP était utilisé pour tous les autres contenus, bien entendu, puisqu'il est plus pertinent qu'un moteur externe qui n'a aucune idée de l'importance relative des différents éléments de la structure de contenus.

Par contre, je pense, comme je l'ai déjà exprimé, que la pertinence du moteur de SPIP pourrait être améliorée sans que cela nécessite de la part de l'internaute un effort supplémentaire à base de "+" ou "AND" dans sa requête :

<http://article.gmane.org/gmane.comp.web.spip.devel/35529&gt;
  

moi je suis pas convaincu de la faisabilité, mais tu peux faire un proof of concept en plugin evidemment, comme tu le suggerais...
Meme si il n'y a pas les points d'entrée dans le code, la surcharge permet de maqueter sans problème tout ça, et a partir du moment ou ça aura montré son intérêt, ce sera bien vite intégré, en intégralité ou au moins en ajoutant les points d'entrées qu'il faut !
Donc hésite pas, go go go

Et comme m'a dit fil a l'époque ou j'avais proposé timidement de revoir l'indexation "t'as besoin d'une autorisation pour coder ?"
moi ça m'a piqué au vif, et j'ai tout recodé...
et toi ?

Cedric

<http://article.gmane.org/gmane.comp.web.spip.devel/35529&gt;

moi je suis pas convaincu de la faisabilité, mais tu peux faire un proof of concept en plugin evidemment, comme tu le suggerais...
Meme si il n'y a pas les points d'entrée dans le code, la surcharge permet de maqueter sans problème tout ça, et a partir du moment ou ça aura montré son intérêt, ce sera bien vite intégré, en intégralité ou au moins en ajoutant les points d'entrées qu'il faut !
Donc hésite pas, go go go
Et comme m'a dit fil a l'époque ou j'avais proposé timidement de revoir l'indexation "t'as besoin d'une autorisation pour coder ?"
moi ça m'a piqué au vif, et j'ai tout recodé...
et toi ?

Le problème, c'est que j'avais bien compris comment l'indexation fonctionnait avant, mais la façon dont c'est fait maintenant, j'ai eu beau regarder le code à plusieurs reprises, je n'ai toujours pas compris.

Est-ce que l'algo a été expliqué un minimum quelque part ?

-Nicolas

Nicolas Hoizey a écrit :

<http://article.gmane.org/gmane.comp.web.spip.devel/35529&gt;

moi je suis pas convaincu de la faisabilité, mais tu peux faire un proof of concept en plugin evidemment, comme tu le suggerais...
Meme si il n'y a pas les points d'entrée dans le code, la surcharge permet de maqueter sans problème tout ça, et a partir du moment ou ça aura montré son intérêt, ce sera bien vite intégré, en intégralité ou au moins en ajoutant les points d'entrées qu'il faut !
Donc hésite pas, go go go
Et comme m'a dit fil a l'époque ou j'avais proposé timidement de revoir l'indexation "t'as besoin d'une autorisation pour coder ?"
moi ça m'a piqué au vif, et j'ai tout recodé...
et toi ?

Le problème, c'est que j'avais bien compris comment l'indexation fonctionnait avant, mais la façon dont c'est fait maintenant, j'ai eu beau regarder le code à plusieurs reprises, je n'ai toujours pas compris.

Est-ce que l'algo a été expliqué un minimum quelque part ?

l'algo a pas bougé d'un iota, ca a juste été recodé pour etre extensible et paramétrable comme tu as pu le voir.
et corrolairement toutes les tables spip_index ont été fusionnées en une seule.
Cedric