Re: Amélioration du code pour les recherche s ?
Gilles Vincent <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <CA+Q4CmvYPkBbBkTNxCj4Z10c2DpQhY2Tx2ZiTyr6wMnqe35OVw@mail.gmail.com> |
Bonjour Arnaud,
les recherches de type MATCH() AGAINST() n'ont pas du tout le même
comportement les recherches par expression régulière, et elles nécessitent
certaines conditions (en particulier le site ne doit pas utiliser sqlite et
le format des tables doit être MyISAM sauf à partir de MySQL5.6 qui permet
d'utiliser innodb).
C'est pour cela que ce n'est pas dans SPIP par défaut.
le plugin Fulltext (http://contrib.spip.net/Fulltext) permet d'utiliser ce
type de requêtes pour le critère {recherche}. Peut-être que ce sera
incorporé au core lorsqu'on aura compris qu'une minorité d'utilisateurs
utilisent des expressions régulières dans les zones de recherche des sites
:)
Bonne année,
.Gilles
2016-01-07 13:02 GMT+01:00 arnaud dechelle <[email protected]>:
> Salut,
>
> Je "m'occupe" (c'est un bien grand mot) de la partie technique du site
> http://www.europe-solidaire.org/, hébergé chez L'Autre.net
> <http://www.lautre.net/>.
> Récemment, un des techniciens de l'association a envoyé le message
> ci-dessous, précisant avoir modifié le code de Spip pour accélérer le temps
> de réponse des recherches, et donc de soulager les serveurs de
> l'association. Il conclue son message en soumettant l'idée de transmettre
> sa modification aux développeurs de Spip.
> Donc, ben..., voilà.
>
> Bonne continuation et merci pour cet outil génial qu'est Spip.
>
> - - -
>
> Votre Spip génère des requêtes de recherche très très longues (2 minutes)
> dès lors qu'on recherche plus de 2 mots.
> [...]
> J'ai rajouté la condition suivante dans le fichier
> ecrire/inc/recherche_to_array.php
>
> if
> (($methode=="REGEXP")&&("spip_articles"==table_objet_sql($table))) {
> $requete['WHERE'][]="MATCH(`surtitre`,`titre`,`soustitre`,`chapo`,`texte`,`ps`,`nom_site`,`descriptif`)
> AGAINST('".addcslashes($recherche, "'")."')";
>
> Ce qui solutionne le problème.
>
> Il semble que les dernières versions de SPIP connaissent le même problème,
> c'est pourquoi je vous recommande de rentrer en contact avec les créateurs
> de ce logiciel pour leur en faire part.
>
> Remi
> pour les roots
> < <[email protected]>[email protected]>
>
>
>
> _______________________________________________
> liste: http://listes.rezo.net/mailman/listinfo/spip-dev
> doc: http://www.spip.net/
> dev: http://trac.rezo.net/trac/spip/
> irc://irc.freenode.net/spip
>