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 : Using multi-core features -- La fonction multi-cœur
Date de publication: le samedi 26 novembre 2011 à 15h57
Dernière modification: par Pascal BOYER le samedi 26 novembre 2011 à 22h23
As mentioned before, you are able to set up a single Solr instance, the backend engine of eZ Find, to serve multiple sites (it does not even matter if these are on the same box). Similar to a database, Solr is capable of having multiple search indexes from one servlet, because Solr supports the concepts of multiple "cores". This means that it can run multiple instances of itself inside a servlet container. Each core has its own set of configuration files (including the "schema") and dedicated directories.
Comme expliqué précédemment, il est possible de configurer une unique instance Solr, le moteur de eZ Find, afin de servir plusieurs sites (il n'est même pas nécessaire qu'ils soient sur le même serveur). Parce qu'il supporte le concept multi-cœur, Solr est capable, à l'instar d'une base de données, de gérer plusieurs index de recherche pour une unique
servlet
. Cela signifie que Solr peut exécuter plusieurs instances de lui-même dans un conteneur servlet. Chaque cœur dispose de son propre jeux de fichiers de configuration (incluant le «schéma») et de ses propres répertoires.
Lets go through the steps of setting up a Solr instance which must serve two sites. To keep it simple we'll call them ezlabs.no and ez.no.
Voyons à présent les différentes étapes de configuration d'une instance Solr qui devra servir deux sites. Pour faire simple, nous appellerons ces deux sites ezlabs.no et ez.no.
The easiest way is to first prepare a central location for the Solr Index. This can for example be:
Le moyen le plus simple est de commencer par préparer l'emplacement central de l'index Solr. Ce peut être par exemple:/srv/solr
Next you should create two additional directories inside it, as follows:
Vous pouvez ensuite créer deux nouveaux répertoires, comme ceci:/srv/solr/java /srv/solr/cores
-
Inside /srv/solr/java you should store a copy of the contents of the java directory of your eZ Find installation, or if you don't have one yet, download it from http://ez.no/ezfind
.
Vous devez stocker à l'intérieur du répertoire /srv/solr/java une copie du contenu du répertoire java de votre installation eZ Find ou, si vous n'en avez pas encore une, télécharger l'extension depuis la page extensions de eZ Publish . Next create a symlink for the solr/lib plugin directory inside /srv/solr/cores like this:
Créez ensuite, dans le répertoire /srv/solr/cores, un lien symbolique vers le répertoire des plugins solr/lib:ln -s /srv/solr/java/solr/lib /srv/solr/cores
Create additional directories for each of your sites, called ezlabs and ez in your /srv/solr/cores. Both of them must contain a data and a conf subdirectory.
Your file structure should look something like this:
Créez, pour chacun des deux site et dans le répertoire /srv/solr/cores, les nouveaux sous-répertoires data et conf:
Votre arborescence doit à présent ressembler à ceci:/srv/solr/cores ezlabsno/data ezlabsno/conf ezno/data ezno/conf-
In both conf directories you must then copy the contents of the folder extension/ezfind/java/solr/conf/* and adapt the Solr dataDir.
Vous devez maintenant copier dans les deux répertoires conf le contenu de extension/ezfind/java/solr/conf/* et adapter le paramètre Solr dataDir. Next create a solr.xml file inside /srv/solr/cores/solr.xml with the following content:
Il s'agit à présent de créer dans le répertoire /srv/solr/cores/ un fichier solr.xml dont le contenu sera:<?xml version="1.0" encoding="UTF-8" ?> <!-- snip the comments from Apache wiki --> <solr persistent="true" sharedLib="lib"> <cores adminPath="/admin/cores"> <core name="ezlabsno" instanceDir="ezlabsno" /> <core name="ezno" instanceDir="ezno" /> </cores> </solr>
-
If you already have indexed data for one or both of your sites, you may stop Solr from indexing them again. You should then copy the index and spellchecker directories to your data directories (in /srv/solr/cores/ezlabsno/data and /srv/solr/cores/ezno/data).
Si vous avez déjà indexé les données de l'un ou des deux sites alors vous devez arrêter l'indexation par Solr puis copier les répertoires de l'index et du correcteur orthographique dans vos sous-répertoires data (/srv/solr/cores/ezlabsno/data et /srv/solr/cores/ezno/data). Now you should restart Solr with the following parameters:
Pour redémarrer Solr vous devez utiliser les paramètres suivants:cd /srv/solr/java; java -Dsolr.solr.home=/srv/solr/cores -jar start.jar
-
It's important to keep an eye on the output, in case of potential errors (for example things that are permission related).
Il faut bien sûr garder un œil sur la sortie produite en cas d'erreurs (comme par exemple tout ce qui est lié aux permissions). And finally you can configure the individual eZ Publish and eZ Find instances with the dedicated URLs as base URLs in solr.ini:
Et vous pouvez, finalement, configurer les instances individuelles d'eZ Publish et d'eZ Find avec des URI dédiées comme URI de base dans le fichier solr.ini:http://localhost:8983/solr/ezlabsno http://localhost:8983/solr/ezno
Commentaires














