Table des matières
- eZ Publish : moteur de recherche eZ Find 2.6
- Quoi de neuf dans eZ Find 2.6 ?
- 1 - Prérequis
- 2 - Installation
- 2.1 - Backend Solr
- 3 - Configuration de base
- 3.1 - Paramètres de configuration
- 3.2 - Indexation de contenus
- 3.3 - Mise à jour de l'index de recherche
- 4 - Configuration avancée
- 4.1 - Pondération Index-Time
- 4.2 - Indexation et recherche sur plusieurs sites
- 4.3 - La fonction multi-cœur
- 4.4 - Archivage
- 4.4.1 - Configurer l'archivage
- 4.4.2 - Comment utiliser la fonction d'archivage
- 5 - Personnalisation
- 5.1 - Personnalisation des facettes et de la navigation de type «drill down»
- 5.2 - Les fonctions de recherche
- 5.3 - La fonction More Like This
- 5.4 - Personnalisation des templates de résultats
- 5.5 - Pondérer des composants ou les «résultats sponsorisés»
- 5.6 - Recherche auto-complétée
- 6 - Utilisation
- 6.1 - Recherche basique
- 6.1.1 - Recherche auto-complétée
- 6.2 - Recherche avancée
- 6.2.1 - Ajuster la pertinence du classement
- 6.2.2 - Trier et filtrer
- 6.2.3 - Contenu lié automatiquement ou «More Like This» (Plus à ce sujet)
- 6.2.4 - Rechercher de contenu externe
- 6.2.5 - Fonctionnalités linguistiques
- 6.2.6 - Contrôle orthographique
- 7 - Liens
eZ Find 2.6 : Backend Solr
Date de publication: le samedi 26 novembre 2011 à 15h57
Dernière modification: par Pascal BOYER le samedi 26 novembre 2011 à 22h18
eZ Find 2.6 uses the Open Source enterprise search server Solr 3.3, which runs on the Lucene Java search library. While the default search function in eZ Publish stores the search index in the database, Solr uses its own highly optimized file for storing its index.
eZ Find 2.6 utilise le serveur de recherche
Solr
3.1, serveur open source basé sur la bibliothèque de recherche
Lucene
écrite en Java. Alors que le système de recherche proposé par défaut stocke l'index de recherche dans la base de données, Solr utilise quant à lui un fichier hautement optimisé pour le stocker.
Solr handles the indexing and searching with an eZ Publish-specific set of configuration files. While indexing, eZ Find uses this specific configuration to do index and query-time analysis of text and keywords. When users perform searches, eZ Find generates a Solr search query based on the user input that is submitted to the Solr back end. All communication with Solr is done via Web services (using the REST model).
Solr gère l'indexation et la recherche par l'entremise d'un ensemble de fichiers de configuration spécifiques à eZ Publish. Lors de la phase d'indexation, eZ Find utilise cette configuration particulière pour réaliser l'analyse de l'index et des temps de requêtes du texte et des mots clef. Lorsque des utilisateurs lancent une recherche, eZ Find génère une requête de recherche Solr en se basant sur la saisie soumise, par un utilisateur, au
back end
Solr. Toute communication avec ce dernier s'effectue via des services Web (qui utilisent le modèle
REST
)
Solr Index location / Emplacement de l'index Solr
Solr will store the search index according to the directives in the configuration file. You can easily change the index path for your installation as follows:
Solr stocke l'index de recherche à l'emplacement défini par les paramètres du fichier de configuration. On peut facilement modifier cet emplacement comme ceci:
Go to extension/ezfind/java/solr/conf/solrconfig.xml in your eZ Publish folder and locate
Éditer le fichier extension/ezfind/java/solr/conf/solrconfig.xml puis rechercher cette ligne:
<dataDir>${solr.data.dir:/ezfind/java/solr/data}</dataDir>
Here you can change the input to match your preferred location. But make sure the permissions are set correctly.
dont on peut remplacer le contenu pour un emplacement de son choix tout en prenant garde à conserver des permissions d'accès correctes.
Start Solr / Démarrer Solr
You can start Solr direct or as a service.
Il existe deux méthodes pour démarrer Solr: directement ou en tant que service
Direct / Directement
To start Solr, navigate to your eZ Publish extension/ezfind/java directory and run the command:
Se placer dans le répertoire extension/ezfind/java puis exécuter cette commande:
java -Dezfind -jar start.jar
If the Java process dies during indexing or searching, the memory limit (“heap space”) need to be increased. Specify as follows the heap space as start-up parameters to allocate a heap space of 512 MB:
Si le processus Java meurt au cours de l'indexation ou de la recherche, alors la limite mémoire («heap space») doit être augmenter. Pour cela, définir, comme indiqué si-dessous, la valeur du heap space à 512 méga bits en tant que paramètre de démarrage:
java -Dezfind -Xms512M -Xmx512M -jar start.jar
The “-Dezfind” option makes it easier to identify the eZ Find Java process. Make sure the user executing the Java program has write access to the folders extension/ezfind/java/solr/data and extension/ezfind/java/logs).
L'option -Dezfind facilite l'identification du processus Java eZ Find. Assurez-vous que l'utilisateur exécutant le programme Java ait le droit d'accès en écriture sur les dossiers extension/ezfind/java/solr/data et extension/ezfind/java/logs.
This will start the Solr application in the bundled servlet container (Jetty). This application must be running for the indexing and search operations to work. If you are working directly on the web server, you can verify that Solr is running by accessing the URL http://localhost:8983/solr/admin/, or replace “localhost” in the URL with the IP address of the server.
La commande ci-dessus démarre l'application Solr dans un conteneur de servlet (
Jetty
). Cette application doit tourner pour que l'indexation et les opérations de recherche fonctionnent. Si on travaille directement sur le serveur web, on peut alors vérifier que Solr est bien en fonctionnement en accédant à l'URI
http://localhost:8983/solr/admin/
ou en remplaçant dans l'URI localhost par l'adresse IP du serveur.
As a Service / En tant que service
eZ Find provides scripts for running eZ Find as a service on Linux platforms. The platforms supported are Debian and RedHat based distributions.
eZ Find fournit un script d'exécution en mode service pour les plates-formes Linux dont les distributions supportées sont Debian et Red-Hat.
-
Redhat based Systems
Pour les distributions de type Red-Hat
Copy the file extension/ezfind/bin/scripts/redhat/solr to your /etc/init.d folder. Then edit the file and configure the required variables:
Copier, dans un premier temps, le fichier extension/ezfind/bin/scripts/redhat/solr dans le répertoire /etc/init.d/ puis l'éditer pour y configurer les variables idoines:
SOLR_HOME
Set this variable to the Java folder of the ezfind extension you want to run as a service.
Example: SOLR_HOME=/var/www/ezpublish/extension/ezfind/java
La valeur de cette variable doit contenir le chemin du répertoire Java de l'extension ezfind si l'on souhaite la démarrer en mode service.
Exemple: SOLR_HOME=/var/www/ezpublish/extension/ezfind/java
JAVA_HOME
If your java executable is not located in /usr/bin/java or /usr/local/bin/java and the JAVA_HOME environment variable is not set, you can specify the path to your java folder here.
Example: JAVA_HOME=/path/to/javafolder
Si le binaire java ne se situe pas dans les répertoires /usr/bin/java ou /usr/local/bin/java et que la variable d'environnement JAVA_HOME n'est pas définie, alors on peut définir ici le chemin vers le répertoire java.
Exemple: JAVA_HOME=/path/to/javafolder
-
Debian based systems
Pour les distributions de type Debian
Copy the file extension/ezfind/bin/scripts/debian/solr to your /etc/init.d folder. You can then use update-rc.d to set solr as auto-start in the required run levels with the command:
Copier, dans un premier temps, le fichier extension/ezfind/bin/scripts/redhat/solr dans le répertoire /etc/init.d/ puis utiliser la commande update-rc comme indiqué ci-dessous pour associer le démarrage automatique de Solr au niveau d'exécution souhaité:
$ update-rc.d solr defaults
Finally, edit the file and configure the required variables:
On édite enfin le fichier pour y configurer les variables:
SOLR_HOME
Set this variable to the java folder of the eZ Find extension you want to run as a service.
Example: SOLR_HOME=/var/www/ezpublish/extension/ezfind/java.
La valeur de cette variable doit contenir le chemin du répertoire Java de l'extension ezfind si l'on souhaite la démarrer en mode service.
Exemple: SOLR_HOME=/var/www/ezpublish/extension/ezfind/java
For use by high performance and large sites / Utilisation avec des sites importants et très performants
For large volumes and traffic (search takes about 30% of ez.no page requests), you will need to set up Solr in a similar way as the database engine (64 bit OS, 64 bit application/service).
Just like MySQL needs to scale up its InnoDB pool size beyond 2GB, so does eZ Find/Solr, although it usually works fine with less RAM. It is all about adjusting Java VM parameters.
If you don't have a 64 bit OS for your server, try the following:
Pour les sites à fort volume et fort trafic (sur ez.no, les recherches représentent environ 30% des requêtes) vous devrez configurer Solr de manière similaire au moteur de la base de données (OS 64 bits, applications/services 64 bits).
À l'instar de MySQL qui doit adapter la taille de son pool InnoDB au delà de 2GB, eZ Find/Solr se comporte à l'identique, quand bien même il fonctionne très bien avec peu de mémoire. Il s'agit donc d'ajuster les paramètres Java VM.
Pour les serveurs fonctionnant sur un OS 32 bits, essayer ce qui suit:
java -server -Xmx600m -Xms600m -XX:+UseParallelGC -XX:+AggressiveOpts -XX:NewRatio=5 -jar start.jar
If you do have a 64 bit OS, use a 64 bit Sun JRE (1.5 for Linux, 1.6 for Solaris/Windows/Mac OS X) as follows:
Pour les OS 64 bits, il faut bien sûr utiliser, comme suit, une version 64 bits de JRE (1.5 pour Linux, 1.6 pour Solaris/Windows/Mac OS X):
java -server -d64 -Xmx600m -Xms600m -XX:+UseParallelGC -XX:+AggressiveOpts -XX:NewRatio=5 -jar start.jar
SearchHandler / Gestionnaire de recherche
The default search handler can be configured by default in ezfind.ini or specified with the dedicated eZ Find template search function. The default search handler is heuristic, but all options are listed below:
Le gestionnaire de recherche par défaut peut être configuré à partir du fichier ezfind.ini ou défini par une fonction de recherche dédiée. Ce gestionnaire de recherche est heuristique et toutes ses options sont listées ci-dessous:
|
Setting Paramètre | Description |
|---|---|
| standard |
The Solr standard handler is called with all syntax supported, searching is done against all searchable fields Le gestionnaire standard de Solr est appelé avec toutes les syntaxes supportées, la recherche étant réalisée dans tous les champs pour lesquels la recherche est autorisée. |
| simplestandard |
the Solr standard handler is called with all all syntax supported, searching is done against the aggregated field ezf_df_text Le gestionnaire standard de Solr est appelé avec toutes les syntaxes supportées, la recherche étant réalisée dans le champ agrégé ezf_df_text |
| ezpublish |
the recommended handler (Solr dismax based) for typical user searches using keywords without Boolean or other operators (prefixes + and – are supported) Le gestionnaire recommandé (basé sur Solr dismax) pour les recherches normales utilisant des mots clef sans booléen ni opérateurs (les préfixes + et - sont supportés) |
| heuristic |
depending on the presence of special characters indicating Boolean, wildcard or fuzzy expressions, either the simple standard or dismax handler is called En fonction de la présence de caractères spéciaux révélant l'existence de Booléens, de caractères génériques ou d'expressions floues, soit le gestionnaire standard simple soit le gestionnaire dismax sera appelé. |
Commentaires














