[spip-dev] La recherche ne marche pas chez moi non plus

La doc de mise à jour précise bien que le site devra se réindexer : il n'est
donc pas anormal que le moteur ne retourne aucun résultat tant qu'il est en
pleine réindexation. Pour voir la progression de la réindexation, on peut
jeter un oeil au fichier ecrire/data/spip.log

je suis parfaitement au courant de ca fil :slight_smile:
je pratique SPIP depuis plus d'un an alors...

mon problème c plein de warnings php sur ma page recherche.
et je n'avais pas ca encore avant hier.

exemple :
http://www.japanim.net/nu_recherche.php3?recherche=Rechercher

je verrais en détails les erreurs PHP ce soir chez moi, au calme.
ce qui est sur, c que j'ai bp d'erreurs.

Warning: split() [function.split]: REG_ERANGE
in /home/opt3/local/apache/htdocs/sites/j/japanim.net/CACHE/skel_skel%
2Fnu_recherche.php3 on line 17

Warning: Variable passed to each() is not an array or object
in /home/opt3/local/apache/htdocs/sites/j/japanim.net/CACHE/skel_skel%
2Fnu_recherche.php3 on line 21

Warning: split() [function.split]: REG_ERANGE
in /home/opt3/local/apache/htdocs/sites/j/japanim.net/CACHE/skel_skel%
2Fnu_recherche.php3 on line 156

Warning: Variable passed to each() is not an array or object
in /home/opt3/local/apache/htdocs/sites/j/japanim.net/CACHE/skel_skel%
2Fnu_recherche.php3 on line 160

Warning: split() [function.split]: REG_ERANGE
in /home/opt3/local/apache/htdocs/sites/j/japanim.net/CACHE/skel_skel%
2Fnu_recherche.php3 on line 294

Warning: Variable passed to each() is not an array or object
in /home/opt3/local/apache/htdocs/sites/j/japanim.net/CACHE/skel_skel%
2Fnu_recherche.php3 on line 298

Warning: split() [function.split]: REG_ERANGE
in /home/opt3/local/apache/htdocs/sites/j/japanim.net/CACHE/skel_skel%
2Fnu_recherche.php3 on line 435

Warning: Variable passed to each() is not an array or object
in /home/opt3/local/apache/htdocs/sites/j/japanim.net/CACHE/skel_skel%
2Fnu_recherche.php3 on line 439

mon problème c plein de warnings php sur ma page recherche.
http://www.japanim.net/nu_recherche.php3?recherche=Rechercher

Warning: split() [function.split]: REG_ERANGE
in /home/opt3/local/apache/htdocs/sites/j/japanim.net/CACHE/skel_skel%
2Fnu_recherche.php3 on line 17

Ah oui, c'est plus embêtant ; ça ressemble à une incompatibilité entre les
expressions régulières qu'on utilise (pour découper la chaîne de recherche en
mots) et la librairie regexp installée chez ton hébergeur.

Dommage de ne s'en rendre compte que maintenant ;(

Dans ecrire/inc_index.php3 tu trouveras une fonction

function spip_split($reg, $texte) {
    global $flag_pcre;
    if ($flag_pcre)
        return preg_split("/$reg/", $texte);
    else
        return split($reg, $texte);
}

a priori chez ton hébergeur on tombe sur le deuxième morceau
(split($reg...)) ; si c'est là que ça coince, on va trouver une solution...

-- Fil

j'ai regardé mon squelette à la ligne qui pose problème (17).

ca commence comme ca :

function squelette_skel_nu_recherche_executer_boucle_articles($contexte) {
global $pile_boucles, $ptr_pile_boucles, $id_doublons, $fichier_cache,
$requetes_cache, $syn_rubriques, $rubriques_publiques, $id_article_img;
  global $recherche, $hash_recherche;
  if (!$hash_recherche) {
   $s = nettoyer_chaine_indexation(urldecode($recherche));
   $regs = separateurs_indexation()." ";
c'est là que ca coince ----> $s = split("[$regs]+", $s);

comme tu l'avais suggéré la fonction split n'aime pas l'expression régulière
passée en paramètre. que faudrait il modifier pour que ca marche?

je suis chez sivit.fr, et sûrement pas le seul à qui ca arrive.

cordialement,

Matthieu ONFRAY
webmaster de Japanim.net
Toute l'actualité de la japanimation
www.japanim.net

   $regs = separateurs_indexation()." ";
c'est là que ca coince ----> $s = split("[$regs]+", $s);

comme tu l'avais suggéré la fonction split n'aime pas l'expression régulière
passée en paramètre. que faudrait il modifier pour que ca marche?

Essaie de remplacer
    $s = split("[$regs]+", $s);
par
    $s = strtr($s, $regs, ereg_replace(".", " ", $regs));
    $s = split(" +", $s);

je suis chez sivit.fr, et sûrement pas le seul à qui ca arrive.

Personne n'a signalé de problèmes avec les versions 1.6prX...

-- Fil