Hello,
je suis en train de regarder ce qu'il faudrait modifier pour prendre
en compte dans le moteur de recherche les termes de 2 et 3 caractères
composés uniquement de majuscules et/ou chiffres.
Du coup, je regarde le source, bin oui ...
Dans 'ecrire/inc_index.php3', dans la fonction 'indexer_chaine()', je
suis tombé sur ça :
$table = split(" +([^ ]{0,$min_long} +)*", $texte);
Il serait sans doute moins coûteux d'avoir ça :
$table = split(" +([^ ]{1,$min_long} +)*", $texte);
Je cherche sans doute la petite bête, mais cela accepte aussi " "
comme chaine de split, et ça demande à priori moins de prise de tête
au moteur de regex ...
Et ne dites pas que je suis cinglé, je pourrais répondre par
l'affirmative !!!
-Nicolas
Effectivement, merci
De rien ...
De toute façon, je simplifie encore cette expression pour ce que je
veux faire !!!
A priori, pour indexer les termes en majuscules et/ou chiffres de 2 ou
3 caractères, il suffit de virer le strtolower() de la fonction
nettoyer_chaine_indexation() et de modifier la fonction
indexer_chaine() comme suit :
function indexer_chaine($texte, $val = 1, $min_long = 3) {
global $index, $mots;
$texte = nettoyer_chaine_indexation($texte);
$regs = separateurs_indexation();
$texte = strtr($texte, $regs, " ");
$table = split(" +([^ ] +)*", $texte);
while (list(, $mot) = each($table)) {
if (strlen($mot) > $min_long || $mot == strtoupper($mot)) {
$h = substr(md5($mot), 0, 16);
$index[$h] += $val;
$mots .= ",(0x$h,'$mot')";
}
}
}
Je n'ai pas vérifié, c'est pure extrapolation.
Je continue ?
-Nicolas
A priori, pour indexer les termes en majuscules et/ou chiffres de 2
ou 3 caractères, il suffit [...]
"Il suffit", je ne doute vraiment de rien ...
En fait, ce que j'ai proposé ne va plus permettre de trouver
"Cependant" en cherchant "cependant", donc il faut améliorer.
- soit mettre tout en minuscules après le test
- soit mettre en minuscules uniquement les termes de plus de 3
caractères
Une idée ?
-Nicolas