Problème dans editer_liens pour l'ajout d'auteurs ou de mots courts avec ponctuation #5268

Open
opened 2 weeks ago by touti · 4 comments
touti commented 2 weeks ago
Owner

Problème de editer_liens pour l'ajout d'auteurs ou de mots courts avec ponctuation espace

Ce bug existe aussi en 3.2

par exemple, le mot-clef "j'ai lu" n'est pas trouvé lors de la recherche d'ajout dans un article, également avec teste sur l'ajout d'un auteur. "J'ailu" est trouvé par contre.

exemple sur contrib avec l'auteur "j'ai lu" (385) https://contrib.spip.net/ecrire/?exec=auteur&id_auteur=385
test pour associer à l'article 5269
https://contrib.spip.net/ecrire/?exec=article&id_article=5269

Et l'usage réel qui pose souci : ajout de l'éditeur (groupe de mot clef) dans un article pour le site d'une librairie, du coup l'éditeur 'j'ai lu' (et d'autres de même genre) n'est jamais trouvé et se trouve recréé plusieurs fois par les rédacteurices …

Problème de editer_liens pour l'ajout d'auteurs ou de mots courts avec ponctuation espace Ce bug existe aussi en 3.2 par exemple, le mot-clef "j'ai lu" n'est pas trouvé lors de la recherche d'ajout dans un article, également avec teste sur l'ajout d'un auteur. "J'ailu" est trouvé par contre. exemple sur contrib avec l'auteur "j'ai lu" (385) https://contrib.spip.net/ecrire/?exec=auteur&id_auteur=385 test pour associer à l'article 5269 https://contrib.spip.net/ecrire/?exec=article&id_article=5269 Et l'usage réel qui pose souci : ajout de l'éditeur (groupe de mot clef) dans un article pour le site d'une librairie, du coup l'éditeur 'j'ai lu' (et d'autres de même genre) n'est jamais trouvé et se trouve recréé plusieurs fois par les rédacteurices …
touti added the
bug
label 2 weeks ago
Owner

Sur contrib il y a le plugin Fulltext qui doit beaucoup changer les résultats de recherche, en 3.2 tu as testé avec ou sans ?

Il faudrait comparer sur un SPIP sans le plugin pour voir si ça vient de lui ou du noyau.


Là sur contrib pour voir comment jouait la longueur des mots avec Fulltext, j'ai créé un auteur avec un plus de lettres « J'aime lu ».

Et en cherchant la séquence de mots complète avec des guillemets : "j'aime lu"

(je ne m'explique pas la différence entre les 2 cas, c'est le même critère {recherche?} sur une boucle auteurs)

Donc des résultats plus probants qu'avec « j'ai lu » tout court. Mais en tout cas oui, quand on cherche une séquence de mots complète en mettant des guillemets, il faudrait que ça trouve dans tous les cas.

Sur contrib il y a le plugin Fulltext qui doit beaucoup changer les résultats de recherche, en 3.2 tu as testé avec ou sans ? Il faudrait comparer sur un SPIP sans le plugin pour voir si ça vient de lui ou du noyau. --- Là sur contrib pour voir comment jouait la longueur des mots avec Fulltext, j'ai créé un auteur avec un plus de lettres « [J'aime lu](https://contrib.spip.net/ecrire/?exec=auteur&id_auteur=14494) ». Et en cherchant la séquence de mots complète avec des guillemets : `"j'aime lu"` * Formulaire d'ajout de liens : 2 résultats, il est en 2ème position. * Page auteurs : 1 résultat : https://contrib.spip.net/ecrire/?exec=auteurs&recherche=%22j%27aime+lu%22 (je ne m'explique pas la différence entre les 2 cas, c'est le même critère `{recherche?}` sur une boucle auteurs) Donc des résultats plus probants qu'avec « j'ai lu » tout court. Mais en tout cas oui, quand on cherche une séquence de mots complète en mettant des guillemets, il faudrait que ça trouve dans tous les cas.
Poster
Owner

Oui, j'avais aussi regardé du côté de fulltext, mais ce n'est pas cela.

Je ne m'explique pas comment l'apostrophe de "J'ai lu" semble être échappée dans mots-associer-recherche.html qui reçoit le tableau #ENV{recherche}
Sur un test simple avec la boucle suivante, elle retourne bien les mots existants

[(#REM)
?page=url_test&test=J'ai lu
]
<BOUCLE_like_mot(MOTS){titre like %(#ENV*{test,fghjkdfsdfshg})%}>
<br>#TITRE
</BOUCLE_like_mot>

Alors que le même genre de boucle posée en test dans mots-associer-recherche.html ne retourne rien

<BOUCLE_like_mot(MOTS){id_groupe}{titre like %(#GET{recherche,RTYUIOUY})%}>
<br>#TITRE ! 
</BOUCLE_like_mot>

Mais est OK avec {titre LIKE '%j'ai lu%'} ou avec une recherche de mot sans apostrophe même courte de genre "ai lu" ou encore OK avec un set recherche

#SET{recherche,j'ai lu}
	<BOUCLE_liste_mot(MOTS){recherche #GET{recherche}}> 

Ce n'est donc pas un defaut mysql mais bien un retour sur l'apostrophe :/

Oui, j'avais aussi regardé du côté de fulltext, mais ce n'est pas cela. Je ne m'explique pas comment l'apostrophe de "J'ai lu" semble être échappée dans mots-associer-recherche.html qui reçoit le tableau #ENV{recherche} Sur un test simple avec la boucle suivante, elle retourne bien les mots existants ``` [(#REM) ?page=url_test&test=J'ai lu ] <BOUCLE_like_mot(MOTS){titre like %(#ENV*{test,fghjkdfsdfshg})%}> <br>#TITRE </BOUCLE_like_mot> ``` Alors que le même genre de boucle posée en test dans mots-associer-recherche.html ne retourne rien ``` <BOUCLE_like_mot(MOTS){id_groupe}{titre like %(#GET{recherche,RTYUIOUY})%}> <br>#TITRE ! </BOUCLE_like_mot> ``` Mais est OK avec {titre LIKE '%j'ai lu%'} ou avec une recherche de mot sans apostrophe même courte de genre "ai lu" ou encore OK avec un set recherche ``` #SET{recherche,j'ai lu} <BOUCLE_liste_mot(MOTS){recherche #GET{recherche}}> ``` Ce n'est donc pas un defaut mysql mais bien un retour sur l'apostrophe :/
Owner

Il est bien possible qu'on cumule 2 problèmes sur ton exemple : un problème d'apostrophe, et un problème de longueur minimale des mots indexés qui est de 3 caractères (en tout cas en fulltext).

J'ai lu étant une combinaison de 3 mots de respesectivement 1 2 et 2 caractères ça complique les choses certainement.

Il est bien possible qu'on cumule 2 problèmes sur ton exemple : un problème d'apostrophe, et un problème de longueur minimale des mots indexés qui est de 3 caractères (en tout cas en fulltext). `J'ai lu` étant une combinaison de 3 mots de respesectivement 1 2 et 2 caractères ça complique les choses certainement.
b_b added this to the 4.1 milestone 2 weeks ago
Poster
Owner

J'ai lu étant une combinaison de 3 mots de respesectivement 1 2 et 2 caractères ça complique les choses certainement.

Certes mais alors pourquoi cette boucle fonctionne :

#SET{recherche,j'ai lu}
<BOUCLE_liste_mot(MOTS){recherche #GET{recherche}}>

mais pas si c'est renvoyé par le formulaire ?

> J'ai lu étant une combinaison de 3 mots de respesectivement 1 2 et 2 caractères ça complique les choses certainement. Certes mais alors pourquoi cette boucle fonctionne : #SET{recherche,j'ai lu} <BOUCLE_liste_mot(MOTS){recherche #GET{recherche}}> mais pas si c'est renvoyé par le formulaire ?
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.