Problème sur page recherche après migration de 1.8.3 vers 1.9.2

Bonjour à tous,

J'ai effectué la migration de mon site de 1.8.3 vers 1.9.2 sur un
serveur de test.
Le site a l'air de bien fonctionner après les modifications d'usage.
J'ai un problème toutefois concernant la page recherche.html.
Cette page permet de retourner les résultats d’une recherche sur les
rubriques « Sélections », « Dossiers », « Clips » et les brèves dans
la langue dans laquelle on se trouve (FR, EN ou ES). Sur le site en
prod (en 1.8.3) la recherche fonctionne parfaitement.
Par contre, sur le serveur de test, la page recherche ne retourne pas
les résultats provenant des rubriques définies mais seulement des
brèves.
Par exemple avec la recherche sur le mot « salvador », ça n’affiche
rien alors qu’il y a un article dans « Clips » et dans « Sélections
».
Par contre si je fais une recherche sur le mot « Québec » alors il y a
des résultats provenant des brèves.

Voici le code de la page:

<BOUCLE_rubrique(RUBRIQUES){lang}{racine}{id_rubrique !IN 25}>
<!-- un compteur -->

<?
        $NbResults = 0; // initialisation du comptage
        $NbResultsBreves = 0; // initialisation du comptage
        $MaxPts = 0;
        ?>
      <BOUCLE_compterub(RUBRIQUES){id_parent}{0,2}{par num titre}>
      <BOUCLE_comptearticles(ARTICLES){recherche}{id_rubrique}{par points}
{inverse}>
        <?
        $NbResults++; // bête incrémentation (basique mais efficace)
        if ($MaxPts==0) $MaxPts = #POINTS; // ?>
      </BOUCLE_comptearticles>
      </BOUCLE_compterub>
      <BOUCLE_comptebreves(BREVES){id_rubrique}{recherche}>
        <?
        $NbResultsBreves++;
        ?>
      </BOUCLE_comptebreves>
        <?
        $Total = $NbResults + $NbResultsBreves;
        if ($Total==0){
        $message = "<div class=\"textecourant\"><:recherche_nulle:></
div>";
        echo $message;
        }
        ?>

<!-- boucle Sélections et dossiers -->
<!-- boucle Sélections et dossiers -->
    <B_rechercherub>
<BOUCLE_rechercherub(RUBRIQUES){id_parent}{tout}{0,2}{par num titre}
{"<br>"}>
<B_recherchearticles><span class="textecourant"><b>:: [(#TITRE|
supprimer_numero)]</b></span>
<BOUCLE_recherchearticles(ARTICLES){recherche}{id_rubrique}{par points}
{inverse}{0,50}{"<hr noshade class='ligne'>"}>
#TITRE
</BOUCLE_recherchearticles></BOUCLE_rechercherub><br></
B_rechercherub><//B_rechercherub>
</B_recherchearticles><//B_recherchearticles>
<!-- Fin boucle Sélections et dossiers -->

<!-- boucle Clips -->
<B_rechercherubclips>
<BOUCLE_rechercherubclips(RUBRIQUES){id_parent}{tout}{titre_mot=Clips}
{"<br>"}><B_recherchearticlesclips><span class="textecourant"><b>::
[(#TITRE|supprimer_numero)]</b></span>
<BOUCLE_recherchearticlesclips(ARTICLES){recherche}{id_rubrique}{par
points}{inverse}{0,50}{"<hr noshade class='ligne'>"}>
#TITRE
</BOUCLE_recherchearticlesclips></BOUCLE_rechercherubclips><br></
B_rechercherubclips><//B_rechercherubclips>
</B_recherchearticlesclips><//B_recherchearticlesclips>
<!-- Fin boucle Clips -->

<!-- boucle Brèves -->
<B_recherchebreves><span class="textecourant"><b>:: <:actualites:></
b></span>
  <BOUCLE_recherchebreves(BREVES){id_rubrique}{recherche}{par points}
{par date}{inverse}{"<hr noshade class='ligne'>"}>
#TITRE
</BOUCLE_recherchebreves></B_recherchebreves><//B_recherchebreves>
<!-- Fin boucle Brèves -->
</BOUCLE_rubrique>

Pour info j’avais dû modifier le formulaire de recherche, mais je
pense que la variable est bien transmise; le code :
<form action="[(#ENV{lien})]" method="get"><div>
  [(#ENV{lien}|form_hidden)]
  [<input type="hidden" name="lang" value="(#ENV{lang})" />]
  <label for="recherche"><:recherche_sur_francomix:></label>
  <input type="text" size="18" name="recherche" id="recherche" [
value="(#ENV{recherche})"] />&nbsp;<input type="submit" value="ok" />
</div>
</form>

Le site de test : http://www.elektrochoc.com/spip/musique-francophone.html
Le site en prod : http://www.francomix.com

Si vous faites des tests (sur le site de test), merci de ne les faire
que sur la home du site (les autres pages contiennent l’ancien
formulaire).

Voilà ; qu’est ce qui empêche le bon fonctionnement de la recherche,
que peut-il clocher dans le code ?

Merci d’avance
Phil

ensemblevide a écrit :

Voilà ; qu’est ce qui empêche le bon fonctionnement de la recherche,
que peut-il clocher dans le code ?

ça je sais pas mais des pistes...

Pour SPIP 1.9, il fut dit:

(SPIP 1.9 - SPIP)

"Amélioration de l’indexation

Le code a été réécrit de façon générique pour prendre en compte toute table déclarée qui comporte un champ idx : SPIP peut donc indexer des tables supplémentaires, et les restituer normalement via des boucles et le critère {recherche}.

Les poids des différents champs dans l’indexation des mots est paramétrable.

Les différentes tables d’indexation sont fusionnées en une seule."

J'imagine que ça peut avoir un lien... Peut-être faut-il repartir du formulaire recherche de la 1.9 pour revoir ton code (que je ne comprends pas: suis pas dev) ? Vider l'index et forcer la réindexation (via la configuration du site) ?

Mes 2 cents...

--
Suske

Bonjour et merci

Désolé, mais je n'ai pas vraiment compris cette amélioration de
l'indexation.
Par contre le squelette de la page recherche contient toujours les
mêmes boucles et balises de recherche. En quoi ça changerait la façon
de créer le squelette recherche ?
Concernant le formulaire, il renvoie bien la variable de recherche :
Si je tape dans le formulaire "salvador" l'url renvoyée est /spip.php?
page=recherche&recherche=salvador; ca doit être correct ?

Vider l'index et forcer la réindexation (via la
configuration du site) ?

Comment fais tu pour vider l'index ?

Merci d'avance

Phil

On 25 sep, 13:03, Suske <su...@brubel.net> wrote:

ensemblevide a écrit :

> Voilà ; qu’est ce qui empêche le bon fonctionnement de la recherche,
> que peut-il clocher dans le code ?

ça je sais pas mais des pistes...

Pour SPIP 1.9, il fut dit:

(SPIP 1.9 - SPIP)

"Amélioration de l’indexation

Le code a été réécrit de façon générique pour prendre en compte toute
table déclarée qui comporte un champ idx : SPIP peut donc indexer des
tables supplémentaires, et les restituer normalement via des boucles et
le critère {recherche}.

Les poids des différents champs dans l’indexation des mots est paramétrable.

Les différentes tables d’indexation sont fusionnées en une seule."

J'imagine que ça peut avoir un lien... Peut-être faut-il repartir du
formulaire recherche de la 1.9 pour revoir ton code (que je ne comprends
pas: suis pas dev) ? Vider l'index et forcer la réindexation (via la
configuration du site) ?

Mes 2 cents...

--
Suske

_______________________________________________
liste spip
s...@rezo.net - désabonnement : spip-...@rezo.net

Infos et archives :http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP :http://www.spip.net/

irc://irc.freenode.net/spip ouhttp://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

ensemblevide a écrit :

Vider l'index et forcer la réindexation (via la
configuration du site) ?

Comment fais tu pour vider l'index ?

Configuration / Vider le cache -> Effacer les index (en bas)

--
Suske