eZ publish et eZ find 1.0 bêta 1
Par llaumgui le dimanche 9 septembre 2007, 14:36 - Développement web - Lien permanent
Les moteurs de recherche, quel cruel dilemme ! Soit on a un moteur basique et léger soit un moteur super pertinent mais consommant un max de ressources. Certains même en arrivent à utiliser Google en guise de moteur de recherche sur leur site (je propose d'ailleurs cette solution alternative en plus des moteurs de recherche de fedora-fr).
eZ publish n'échappe pas à la règle et de base son moteur de recherche est pour le moins... pas terrible. Heureusement qu'eZ est bien fait et permet le remplacement du moteur de recherche par d'autres via le système d'extensions. Avec la Community Newsletter #11 et l'annonce de la version 1.0 beta 1 d'ezfind, j'ai donc entrepris de tester la bête.
Quelques petits problèmes à l'installation
Comme je l'ai déjà dis plusieurs fois, j'utilise la version 3.9 communautaire compatible php5 d'eZ publish. eZ find semble cependant tourner parfaitement en php5. Par contre, dès le début, je me suis heurté à une fatal error :
Fatal error: Class 'ezsolr' not found in /mnt/divers1/public_html/scenario-paintball/kernel/classes/ezsearch.php on line 104
Fatal error: eZ publish did not finish its request
The execution of eZ publish was abruptly ended, the debug output is present below.
Comme ma version d'eZ n'est ni conventionnel ni la dernière, j'ai pas cherché plus loin et j'ai fait un petit lien relatif (pas le temps de passer plus de temps à faire plus propre sur une bêta 1 de test).
llaumgui@enterprise /mnt/divers1/public_html/scenario-paintball/kernel/search/plugins> ln -s ../../../extension/ezfind/search/plugins/ezsolr/ ./
Ensuite, ma version semble ne pas posséder d'updatesearchindex.php, je l'ai donc pris sur le serveur SVN.
Spécificités d'eZ find
eZ find requière le JRE (Java Runtime Environment) 5.0 ou supérieur. Les améliorations apportées par rapport à la recherche standard sont notamment :
- Classement par pertinence !
- Support natif des droits dans eZ publish.
- Soulignement des mots clef.
- Recherche par langue, basée sur la configuration du siteaccesses courant.
- Possibilité de rechercher sur de multiples siteaccesses.
- Intégration dans l'administration d'eZ publish ainsi que dans ezwebin.
Premières impressions
Une fois le tout configuré, l'exécutable Java lancé et le cache de recherche mis à jour, voici ce que ça donne.
J'aimerais bien utiliser ce moteur de recherche sur scenario-paintball voir court-circuiter le moteur de recherche d'IPB pour centraliser toutes les recherches à partir d'eZ find, c'est une piste que je dois explorer pour ezipb. En effet, le moteur d'IPB n'est pas réputé pour sa faible consommation en ressources.
Par contre, pour une utilisation sur un serveur possédant plusieurs instances d'eZ (comme c'est le cas à mon boulot), une seule instance de l'exécutable suffit je suis septique sur un point : doit-on lancer 1 instance de l'exécutable Java par site ou une seul par serveur...
J'aimerais aussi benchmarker la consommation de ce moteur de recherche par rapport à celui livré en standard dans eZ publish ainsi que la montée en charge de l'appli Java lors de l'indexation (qui a fait monter mon CPU à 100% quand même !). Une chose est sûre l'appli Java à besoin de tourner en permanence et ne sert pas uniquement lors de l'indexation.
Par contre j'avoue avoir été déçu par le fait qu'eZ find ne semble pas indexer les pdf, enfin selon mes tests.




Commentaires
par Damien
Extrait du INSTALL.txt :
donc le java -jar start.jar est à lancer une fois par serveur.
Que l'indexation prenne 100% c'est tout à fait normal la première fois vu qu'il indexe l'ensemble du site et donc potentiellement pas mal d'objet, ensuite une indexation régulière ça doit se faire extrêmment rapidement.
Et pour ce qui est de l'indexation des PDF, ça n'a normalement rien à voir avec eZFind puisque lors de l'indexation des objets eZ Publish, eZSolr ne fait qu'à appeler la méthode metaData() sur les attributs de tes objets si il sont marqués comme "indexables" pour récupérer ce qu'il y a à indexer. Tu es sur d'avoir pstotext (1) d'installé, c'est le programme configuré par défaut dans eZ Publish (binaryfile.ini) utilisé pour extraire le texte des PDF.
(1) http://pwet.fr/man/linux/commandes/...
par LLaumgui
Un
rpm -qa pstotextne me retourne rien. Le problème doit venir de là, merci.Lol, j'avais lu le fichier d'install en travers et loupé cette référence.