Le module search ne trouve rien ! [Réglé]
Malgré un contenu plus enrichi et l'ajout d'une FAQ
Support des Modules
sch Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre sch
- Inscrit le : 28/09/2010
- Site internet
- Groupes :
Reprise du message précédent
Je confirme qu'il s'agit bien d'un bug de PBT, et voici pourquoi :- J'ai désinstallé le module Search.
- J'ai vidé les cachs.
- J'ai réinstallé le module, en uploadant le dossier sur mon FTP.
- J'ai régénéré les cachs.
- En laissant la config du module par défaut, j'ai effectué une recherche sur les mot "cigales et oiseaux, qui sont souvent utilisés dans les articles du site.
- Là il me trouve bien ces mots, dans les pages du site mais pas dans les articles. Alors qu'il devrait les trouver là ausi.
- J'ai donc retiré l'accès à la recherche des pages.
- Et en gardant les même mots, Search ne me trouve rien. ALors qu'il devrait trouver la même chose dans les articles et dans les pages, tout simplement parce qu'à chaque article est associé une page de téléchargement de l'objet, qui le même nom que l'article.
J'en conclus donc que le module Search ne sait pas chercher dans les articles.
J'espère avoir été clair dans mes explications.
Je ferai remonter le bug cet après-midi.
Cordialement.
Sébastien Chauveau : journaliste, producteur, réalisateur
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Essayes de remplacer le contenu du fichier /articles/phpboost/ArticlesSearchable.class.php par ce qui suit et dis moi si ça fonctionne mieux :
Code PHP :
<?php /*################################################## * ArticlesSearchable.class.php * ------------------- * begin : October 17, 2010 * copyright : (C) 2010 Loic Rouchon * email : loic.rouchon@phpboost.com * * ################################################### * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ###################################################*/ class ArticlesSearchable extends AbstractSearchableExtensionPoint { private $sql_querier; public function __construct() { $this->sql_querier = PersistenceContext::get_sql(); } public function get_search_request($args) { global $Cache, $CONFIG_ARTICLES, $ARTICLES_CAT, $LANG,$ARTICLES_LANG; $Cache->load('articles'); require_once PATH_TO_ROOT . '/articles/articles_constants.php'; $weight = isset($args['weight']) && is_numeric($args['weight']) ? $args['weight'] : 1; $user = AppContext::get_current_user(); //Catégories non autorisées. $unauth_cats_sql = array(); foreach ($ARTICLES_CAT as $idcat => $key) { if ($ARTICLES_CAT[$idcat]['visible'] == 1) { if (!$user->check_auth($ARTICLES_CAT[$idcat]['auth'], AUTH_ARTICLES_READ)) { $clause_level = !empty($g_idcat) ? ($ARTICLES_CAT[$idcat]['order'] == ($ARTICLES_CAT[$g_idcat]['order'] + 1)) : ($ARTICLES_CAT[$idcat]['order'] == 0); if ($clause_level) $unauth_cats_sql[] = $idcat; } } } $clause_unauth_cats = (count($unauth_cats_sql) > 0) ? " AND a.idcat NOT IN (" . implode(', ', $unauth_cats_sql) . ")" : ''; return "SELECT " . $args['id_search'] . " AS id_search, a.id AS id_content, a.title AS title, ( 2 * MATCH(a.title) AGAINST( '" . $args['search'] . "') + MATCH(a.contents) AGAINST( '" . $args['search'] . "') ) / 3 * " . $weight . " AS relevance, " . $this->sql_querier->concat("'" . PATH_TO_ROOT . "/articles/articles.php?id='","a.id","'&cat='","a.idcat") . " AS link FROM " . PREFIX . "articles a LEFT JOIN " . PREFIX . "articles_cats ac ON ac.id = a.idcat WHERE a.visible = 1 AND ac.visible = 1 " . $clause_unauth_cats . " AND (MATCH(a.title) AGAINST( '" . $args['search'] . "') OR MATCH(a.contents) AGAINST( '" . $args['search'] . "')) ORDER BY relevance DESC " . $this->sql_querier->limit(0, $CONFIG_ARTICLES['nbr_articles_max']); } } ?>
sch Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre sch
- Inscrit le : 28/09/2010
- Site internet
- Groupes :
Une correction qu'il faudra peut-être apporter à la prochaine version.La recherche se fait parfaitement dans le module articles maintenant.
Merci bien.
Cordialement.
Sébastien Chauveau : journaliste, producteur, réalisateur
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
http://phpboost.com/forum/topic-14420-2+le-module-search-ne-trouve-rien.php#m134155
Merci
sch Membre non connecté
Booster Fusée
-
Booster Fusée
- Voir le profil du membre sch
- Inscrit le : 28/09/2010
- Site internet
- Groupes :
CDT.
Sébastien Chauveau : journaliste, producteur, réalisateur
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie