Aller au contenu

Mnogosearch et php


nalrem

Sujets conseillés

Bonjour,

J'ai installé mnogosearch et j'ai indexé mon site, pas de problème de ce côté là.

Quand j'utilise le frontend php fourni sur le site de mnogosearch, tout marche.

Mais j'ai un soucis pour faire fonctionner la recherche avec du php (j'ai recompilé php avec les bons paramètres pour pouvoir le faire) :

quelle que soit la requete faite, ça me renvoit toujours 0 résultat.

Alors si quelqu'un a implémenté un script sur son serveur, je veux bien voir à quoi ça ressemble :)

J'ai récupéré un script trouvé en commentaire de la doc php :

$searchText = trim($_GET['rq']);
$mnogo = udm_alloc_agent("mysql://user:mdp.serveur/table/?dbmode=single");
$mResult = udm_find($mnogo,$searchText);
$totalMatches = udm_get_res_param ($mResult,UDM_PARAM_FOUND);
$pageSize = udm_get_res_param ($mResult,UDM_PARAM_NUM_ROWS);
$firstRow = udm_get_res_param ($mResult,UDM_PARAM_FIRST_DOC);
$lastRow = udm_get_res_param ($mResult,UDM_PARAM_LAST_DOC);
echo "Your search for <b>$searchText</b> resulted in <b>$totalMatches</b> matches";
echo "The result set (pagesize) is <b>$pageSize</b>\n";
echo "The first doc is row <b>$firstRow</b> and the last doc is <b>$lastRow</b>\n";
$row=0;
for ($i=$firstRow-1;$i<$lastRow;$i++) {
  $row++;
  echo "Match $row:";
  echo 'Url: ';
  $url = udm_get_res_field ($mResult,$i,UDM_FIELD_URL);
  echo "<a href=\"$url\">$url</a>";
  echo "\nTitle: <b>";
  echo udm_get_res_field ($mResult, $i,UDM_FIELD_TITLE);
  echo "</b>\nMeta Desc:";
  echo udm_get_res_field ($mResult, $i,UDM_FIELD_DESC);
  echo "\nPage Text: <b>\n";
  echo udm_get_res_field ($mResult, $i,UDM_FIELD_TEXT);
  echo "</b>\n<hr>\n";
}
udm_free_res($mResult);
udm_free_agent($mnogo);

Pour info, j'ai indexé la table en mode single aussi.

A bientôt,

nalrem

Lien vers le commentaire
Partager sur d’autres sites

Salut Nalrem,

Lorsque tu as recompilé Php, as-tu mis le paramètre --with-mysql ou --with-mysql=/usr ?

Sur le site mnogosearch, ils précisent que c'est cette dernière forme qu'il faut utiliser.

Dan

Lien vers le commentaire
Partager sur d’autres sites

Salut Nalrem,

Lorsque tu as recompilé Php, as-tu mis le paramètre --with-mysql ou --with-mysql=/usr ?

Sur le site mnogosearch, ils précisent que c'est cette dernière forme qu'il faut utiliser.

Dan

<{POST_SNAPBACK}>

Hum, je pense que si c'etait un probleme, je ne pense pas que l'interface PHP fourni avec mnogosearch fonctionnerait :huh:

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

si tu veux voir ce que ca donne quand ca marche, tu peux jeter un oeil ici : http://pingoin.com . Pour le script qui génère tout ca derrière, c'est celui fourni par mnogosearch. Qu'es ce qui ne marche pas, concrètement, chez toi ?

Si tu fais des tests, avec des pointeurs, lequel ne renvoie rien ?

Là, ca dit quoi ? :

echo "Your search for <b>$searchText</b> resulted in <b>$totalMatches</b> matches";

echo "The result set (pagesize) is <b>$pageSize</b>\n";

echo "The first doc is row <b>$firstRow</b> and the last doc is <b>$lastRow</b>\n";

Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

Le retour me donne :

"Your search for krinein resulted in 0 matchesThe result set (pagesize) is 0 The first doc is row 1 and the last doc is 0"

Pour voir ce qui se passe :

l'url de la page avec le script fourni : -http://www.krinein.com/recherche/search.php

Ma page de test : -http://www.krinein.com/search5.php?rq=krinein

edit : et la définition de l'adresse où trouver la base est la même dans les deux scripts.

Peut-être devrais-je me tourner vers la version cgi ?

Modifié par nalrem
Lien vers le commentaire
Partager sur d’autres sites

Déjà, il y a un problème à ce niveau :

Your search for resulted

Alors que ca devrait marquer :

Your search for krinein resulted

Tu devrais te pencher à savoir pourquoi ton :

$searchText = trim($_GET['rq']);

ne renvoie rien ici :

echo "Your search for <b>$searchText</b> resulted

Nico.

Lien vers le commentaire
Partager sur d’autres sites

Commences comme ceci :

$searchText = trim($_GET['rq']);

$mnogo = udm_alloc_agent("mysql://user:mdp.serveur/table/?dbmode=single");

tu ajoutes à la suite :

echo "<br>Mnogo :".$mnogo;

Tu devrais peut etre avoir à la place :

$mnogo = udm_alloc_agent("mysql://user:mdp@/serveur/table/?dbmode=single");

( '@' et '/' devant serveur.. )

Nico.

Lien vers le commentaire
Partager sur d’autres sites

Modifier la ligne mysql ne change rien.

echo "<br>Mnogo :".$mnogo; me renvoit une valeur Ressource id #4

Donc a priori il y a du contenu dedans..

Lien vers le commentaire
Partager sur d’autres sites

En me penchant encore un peu plus sur la question... j'ai résolu mon soucis !

Pour faire simple : j'utilisais l'extension mnogosearch fournie par défaut avec php... Ce qu'il ne faut pas faire, il faut utiliser celle donnée sur le site de mnogosearch, puis tout recompiler.

Donc ça marche maintenant !

Merci à tous ceux qui ont essayé de trouver la source du problème !

Lien vers le commentaire
Partager sur d’autres sites

j'utilisais l'extension mnogosearch fournie par défaut avec php...

Laquelle est-ce ? Celle fournie avec la doc standard ?

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...