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...
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...
<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.
</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 :
<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.
</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 :
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 ?
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 ?
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