Bonjour à tous,
j'ai une question pour les pros du moteur de recherche :
Sur un site de publication scientifique en SHS, j'en fait une utilisation particulière :
- les textes publiés contiennent un grand nombre de références bibliographiques dans le texte se présentant comme suit : [Claud.Rapt.Pros.3,270-275] ou [Ov.Met.11,410-572]
- mon problème a été de créer des index à partir de ces références
- j'ai donc créé des mots-clés : 1 par oeuvre avec comme titre [Ov.Met] et dans le champ texte du mot-clé, l'ensemble des références sans crochet et séparées par des espaces.
- dans mes_fonctions, j'ai créé un script qui, sur chacune des références, met un lien passant la référence comme variable de recherche pour le moteur.
- Donc, quand on clique sur une référence complète à partir de l'index, on a une requête du type :
recherche_reference.php3?recherche=Ov.Met.11,410-572
- Notez qu'à l'intérieur de chaque référence il n'y a aucun espace, mais des points et des virgules que je ne peux pas enlever. Idem pour les références à l'intérieur du texte. Par contre, à l'intérieur du texte, on a "espace[référence_sans_espace]espace"
- Les résultats maintenant : le système marche très bien en général : il me sort l'article et uniquement l'article où la référence est présente. Mais pour un certain nombre de références, notamment celles où il y a plusieurs points (Claud.Rapt.pros. est typique), ce n'est pas le cas : il me sort aussi les autres articles. Pire, si je fais un classement {par points}, il me les sort dans le mauvais ordre. (???)
Ma question est donc : pourquoi ça marche sur certaines références et pas d'autres ? Je soupçonne le rôle des points là dedans car lorsque je fais une requête test en supprimant les points, ça marche (alors que la référence sans point n'existe pas dans le texte). J'imagine que les points sont identifiés par inc_index comme séparateurs de mots. Puis-je désactiver cela, sans conséquence pour le moteur de recherche texte intégral que j'utilise aussi ? et comment ?
Si vous avez la bonté de me faire des suggestions, sachez que la même référence peut être présente dans plusieurs textes. Je ne peux donc limiter le résultat de la requête à un seul résultat (tricherie que j'utilise actuellement parce que de fait, ce n'est pas encore le cas). Par ailleurs, je répète que les mots-clés sont totalement artificiels, qu'ils ne sont attachés à aucun article et ne servent qu'à présenter l'index. Après, on passe par le moteur de recherche. Je ne peux pas les utiliser directement par attachement car je peux avoir deux textes qui contiennent une référence aux Métamorphoses d'Ovide [Ov. Met. qqchose...] mais pas nécessairement les mêmes références précises ; c'est même très souvent le cas.
Bon, je sais, que je fais une utilisation très limite de Spip. Mais l'expérience prouve que ça marche sur 80% des références. Il doit être possible d'avoir un résultat de 100%.
Merci beaucoup à tous ceux qui se pencheront sur ce casse-tête chpipnois.
Pierre Mounier