Problèmes SQL de la recherche avancée sur Joomla : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
(Présentation)
Ligne 16 : Ligne 16 :
 
</html>
 
</html>
 
<br/>
 
<br/>
 +
 +
= Mots clé =
 +
* Recherche sur mots clé dans '''[[Joomla]]'''
 +
* La recherche sous '''[[Joomla]]''' est incomplète
 +
* Des mots importants ne sont pas trouvés par la '''recherche''' de '''[[Joomla]]'''
 +
* '''[[Joomla]] keyword search''' not working properly
  
 
= Présentation =
 
= Présentation =
La '''recherche avancée (smartsearch)''' est une nouveauté depuis la version '''1.7''' de '''[[Joomla]]'''. Elle permet une '''indexation''' de tout le contenu du site afin d'offrir à ses visiteurs une option de '''recherche''' beaucoup plus performante qu'avec celle de base. Pour être opérationnelle la '''recherche avancée''' nécessite que le plugin '''Contenu - Indexation de recherche''' soit activé. L''''indexation''', quand à elle, se fait au fur et à mesure des mises à jour du contenu ou d'une manière globale en passant par le composant '''Recherche avancée'''. Dans certains cas, le fichier '''index''' est corrompu et affiche lors de la demande d'indexation via le composant, un message équivalent à celui-ci :
+
La '''recherche avancée (Smart Search)''' est une nouveauté depuis la version '''1.7''' de '''[[Joomla]]'''. Elle permet une '''indexation''' de tout le contenu du site afin d'offrir à ses visiteurs une option de '''recherche''' beaucoup plus performante qu'avec celle de base. Pour être opérationnelle la '''recherche avancée''' nécessite que le plugin '''Contenu - Indexation de recherche''' soit activé. L''''indexation''', quand à elle, se fait au fur et à mesure des mises à jour du contenu ou d'une manière globale en passant par le composant '''Recherche avancée'''. Dans certains cas, le fichier '''index''' est corrompu et affiche lors de la demande d'indexation via le composant, un message équivalent à celui-ci :
 
  You have an error in your SQL syntax; check the manual that corresponds to your [[MySQL]] server version for the right syntax to use near '' at line 1  
 
  You have an error in your SQL syntax; check the manual that corresponds to your [[MySQL]] server version for the right syntax to use near '' at line 1  
 
Dans ces cas là, la meilleure solution reste de '''purger l'index''' et de le reconstituer comme expliqué ici :
 
Dans ces cas là, la meilleure solution reste de '''purger l'index''' et de le reconstituer comme expliqué ici :
Ligne 27 : Ligne 33 :
  
 
= Réindexation globale =
 
= Réindexation globale =
 +
La réindexation peut se faire de deux manières :
 +
# Dans le '''back office''' du '''[[site]]''' -> pas recommandé sur les gros '''[[sites]]''' avec risque de '''timeout'''
 +
# En ligne de commande sur le serveur -> recommandé pour tout type de '''[[sites]]''' et particulièrement ceux avec un gros contenu
 +
 +
== Réindexation via le back office ==
 
* Dans '''Recherche avancée''' cliquer sur '''Indexer'''
 
* Dans '''Recherche avancée''' cliquer sur '''Indexer'''
 
* Une fenêtre s'ouvre alors avec une jauge de progression et le message '''Indexation en cours...". La fermer interrompt le processus d'indexation
 
* Une fenêtre s'ouvre alors avec une jauge de progression et le message '''Indexation en cours...". La fermer interrompt le processus d'indexation
 
* Sur une contenu important, l'indexation peut être assez, voire très longue
 
* Sur une contenu important, l'indexation peut être assez, voire très longue
 
* En cas de blocage ne pas hésiter à interrompre l'indexation en fermant la fenêtre '''Indexation en cours...''' puis à relancer l'indexation
 
* En cas de blocage ne pas hésiter à interrompre l'indexation en fermant la fenêtre '''Indexation en cours...''' puis à relancer l'indexation
 +
 +
== Réindexation via le serveur ==
 +
* Se mettre dans le '''répertoire CLI''' du site. Il contient '''php_finder_indexer.php'''
 +
* Lancer l'indexation par :
 +
php finder_indexer.php
 +
* Le traitement par lot démarre. Il peut être interrompu et repris à tout moment
 +
* Compte tenu de la mobilisation des ressources pour cette tâche, il peut être intéressant de la programmer à des heures de faible audience via '''[[cron]]'''
  
 
= Tables concernées par la recherche avancée =
 
= Tables concernées par la recherche avancée =
Ligne 60 : Ligne 78 :
 
** _finder_tokens_aggregate
 
** _finder_tokens_aggregate
 
** _finder_types
 
** _finder_types
 +
 +
= Liens utiles =
 +
* [http://docs.joomla.org/Smart_Search_on_large_sites docs.joomla.org] '''Smart Search''' on large '''[[sites]]'''
 +
* [http://docs.joomla.org/Setting_up_automatic_Smart_Search_indexing docs.joomla.org] Setting up automatic '''Smart Search indexing'''
 +
* [http://docs.joomla.org/Category:Smart_Search docs.joomla.org] Tous les articles relatifs à '''Smart Search''' sur '''[[Joomla]] Docs'''
 +
* [http://www.iteachme.com/Joomla-3/search-vs-smart-search.html iteachme.com] '''Search''' vs. '''Smart Search''' - What is the Difference and How Does it Work?
 +
 +
= Threads d'intérêt =
 +
* [http://www.chronoengine.com/forums/posts/f26/t88297.html chronoengine.com] '''ChronoForms 4''' stops '''[[Joomla]] Smartseach''' from indexing content
  
 
= Commentaires =  
 
= Commentaires =  

Version du 9 septembre 2014 à 14:54

Lien court vers cette page : http://vt.cx/PraJ
QR code vers cette page : http://vt.cx/PraJ.qr


Mots clé

  • Recherche sur mots clé dans Joomla
  • La recherche sous Joomla est incomplète
  • Des mots importants ne sont pas trouvés par la recherche de Joomla
  • Joomla keyword search not working properly

Présentation

La recherche avancée (Smart Search) est une nouveauté depuis la version 1.7 de Joomla. Elle permet une indexation de tout le contenu du site afin d'offrir à ses visiteurs une option de recherche beaucoup plus performante qu'avec celle de base. Pour être opérationnelle la recherche avancée nécessite que le plugin Contenu - Indexation de recherche soit activé. L'indexation, quand à elle, se fait au fur et à mesure des mises à jour du contenu ou d'une manière globale en passant par le composant Recherche avancée. Dans certains cas, le fichier index est corrompu et affiche lors de la demande d'indexation via le composant, un message équivalent à celui-ci :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near  at line 1 

Dans ces cas là, la meilleure solution reste de purger l'index et de le reconstituer comme expliqué ici :

Effacement de l'index global

  • Choisir Recherche avancée dans Composants
  • Cliquer sur Purger pour vider l'Index

Réindexation globale

La réindexation peut se faire de deux manières :

  1. Dans le back office du site -> pas recommandé sur les gros sites avec risque de timeout
  2. En ligne de commande sur le serveur -> recommandé pour tout type de sites et particulièrement ceux avec un gros contenu

Réindexation via le back office

  • Dans Recherche avancée cliquer sur Indexer
  • Une fenêtre s'ouvre alors avec une jauge de progression et le message Indexation en cours...". La fermer interrompt le processus d'indexation
  • Sur une contenu important, l'indexation peut être assez, voire très longue
  • En cas de blocage ne pas hésiter à interrompre l'indexation en fermant la fenêtre Indexation en cours... puis à relancer l'indexation

Réindexation via le serveur

  • Se mettre dans le répertoire CLI du site. Il contient php_finder_indexer.php
  • Lancer l'indexation par :
php finder_indexer.php
  • Le traitement par lot démarre. Il peut être interrompu et repris à tout moment
  • Compte tenu de la mobilisation des ressources pour cette tâche, il peut être intéressant de la programmer à des heures de faible audience via cron

Tables concernées par la recherche avancée

  • Dans la base de données du site indexé les tables impliquées - (indexées avec le moteur InnoDB) sont :
    • _finder_filters
    • _finder_links
    • _finder_links_terms (où d'autres terms suivi d'un numéro d'ordre alphanumérique 0 à 9, a à z, etc.) comme ci-dessous
      • _finder_links_terms0
      • _finder_links_terms1
      • _finder_links_terms2
      • _finder_links_terms3
      • _finder_links_terms4
      • _finder_links_terms5
      • _finder_links_terms6
      • _finder_links_terms7
      • _finder_links_terms8
      • _finder_links_terms9
      • _finder_links_termsa
      • _finder_links_termsb
      • _finder_links_termsc
      • _finder_links_termsd
      • _finder_links_termse
      • _finder_links_termsf
    • _finder_taxonomy
    • _finder_taxonomy_map
    • _finder_terms
    • _finder_terms_common
    • _finder_tokens
    • _finder_tokens_aggregate
    • _finder_types

Liens utiles

Threads d'intérêt

Commentaires

blog comments powered by Disqus