Indexation : Différence entre versions

De OviWiki
Aller à : navigation, rechercher
(Planification du processus d'indexation)
(Exemple dans un environnement Linux avec wget)
Ligne 117 : Ligne 117 :
 
==== Exemple dans un environnement  Linux avec wget ====
 
==== Exemple dans un environnement  Linux avec wget ====
  
<source lang="sh">
+
<source lang="bash">
 
wget -q -O /dev/null 'http://VotreServeur/index.php?tg=usrindex&idx=2&prepare=1'
 
wget -q -O /dev/null 'http://VotreServeur/index.php?tg=usrindex&idx=2&prepare=1'
 
source /VotreRepertoireUploadOvidentia/SearchIndex/index.bat
 
source /VotreRepertoireUploadOvidentia/SearchIndex/index.bat
 
</source>
 
</source>
 
  
 
==== Exemple dans un environnement Windows  avec wget ====
 
==== Exemple dans un environnement Windows  avec wget ====

Version du 25 février 2008 à 17:41

Configurer l'indexation sur Ovidentia

Introduction

Le connecteur Swish-e est disponible à partir de la version 6.0.0 d'OVIDENTIA. A ce jour, le connecteur Swish-e/Ovidentia n'a été validé qu'avec la version 2.4.3 de Swish-e. L'indexation de fichiers concerne les fonctions du noyau suivantes :

  • Les fichiers du gestionnaire de fichiers
  • Les fichiers liés aux articles
  • Les fichiers liés aux contributions de forum

OVIDENTIA. gère les demandes d'indexation et la recherche plein-texte sur les types de fichiers suivants (les « Modules » Swish-e doivent être présents) : doc, xls, xml, html, txt, csv, pdf, sxw.

La version Windows de Swish-e ne permet l'indexation que des fichiers doc, xml, html, txt, csv et pdf. Les modules xls2csv et unzip n'étant pas proposés dans les librairies lors de son installation.

Important : OVIDENTIA. délègue totalement l'indexation et la recherche plein texte à Swish-e et ses modules d'indexation (catdoc, pdftotext, unzip ... .). OVIDENTIA. n'est donc pas directement à l'origine de la pertinence de l'indexation ou des résultats remontés.

Installation du moteur d'indexation swish-e

Le moteur d'indexation « Swish-e » doit être installé sur le serveur hébergeant OVIDENTIA..

Swish-e peut être téléchargé depuis le site : http://swish-e.org

Nous vous invitons à utiliser la documentation d'installation et de configuration présent sur le site de Swish-e pour son intégration sur votre serveur. http://swish-e.org/docs/index.html


Configuration du connecteur Swish-e dans OVIDENTIA.

Cette étape ne doit être réalisée qu'après l'installation de Swish-e sur votre environnement. Pour activer la configuration du moteur d'indexation dans OVIDENTIA., il faut ajouter la ligne suivante dans le fichier config.php qui se trouve à la racine d'OVIDENTIA. (à placer avant la balise « ?> » ) :

<source lang="php">

$babSearchEngine = 'swish';

</source>


L'accès à la configuration du connecteur Swish-e dans OVIDENTIA. s'effectue en tant qu'administrateur du portail. Depuis la section « Administration », cliquer sur «sites» puis sur le nom de votre site. En sélectionnant «Configuration du moteur de recherche», Il est nécessaire de renseigner le chemin complet d'accès aux exécutables.



Exemple dans un environnement Windows

Commande swish-e (swish-e.exe) C:\Progra~1\SWISH-E\swish-e.exe
Commande pour transformer les documents pdf en texte (pdftotext.exe) C:\Progra~1\SWISH-E\lib\swish-e\pdftotext.exe
Commande pour transformer les documents word en texte (catdoc.exe) C:/Progra~1/SWISH-E/lib/swish-e/catdoc.exe
... ...

.... Attention : Les noms longs ne sont pas supportés, dans notre exemple C:\Program Files devient C:\Progra~1.

Exemple dans un environnement Linux

Dans un environnement linux, la configuration est détectée automatiquement si elle n'est pas renseignée depuis la version 6.6.90 d'Ovidentia. Les emplacements exacts peuvent être saisis pour améliorer les performances ou si les executables sont placé dans des répertoires non reconnus par le système (par la commande whereis)


A noté :

Pour que Ovidentia « communique » avec Swish-e, il est nécessaire que l'utilisateur qui exécute le serveur web (Apache, IUSR_NomDuServeur ...) puissent demander l'exécution de Swish-e. Dans un environnement IIS 6/Windows 2003 SRV, il est nécessaire de mettre le droit de lecture/exécution au fichier "cmd.exe" qui se trouve dans "windows/system32" pour l'utilisateur IUSR_NomDuServeur.



En tant qu'administrateur, depuis la section « Administration », cliquer sur l'entrée « Indexation »


Cette interface vous permet :

  • De gérer l'activation de l'indexation par fonction.
  • De configurer l'indexation des fichiers lors de leur chargement dans le portail.
  • D'exécuter l'indexation de tous les fichiers ou uniquement des fichiers en attente d'indexation, fonction par fonction ou globalement. (Pour des raisons de sécurité, l'exécution de l'indexation nécessite au préalable de renseigner dans le champ « Adresse IP autorisée » l'adresse IP du client qui demande cette action. La planification de l'indexation (voir le paragraphe traitant ce point) nécessite de renseigner l'adresse IP du poste à l'origine de la requête planifiée (en général 127.0.0.1, la planification étant exécutée par le même serveur que celui qui héberge OVIDENTIA.)


En cliquant sur l'onglet « État des fichiers »

Cela permet d'initialiser l'ensemble des fichiers du gestionnaires de fichiers, des fichiers liés aux articles ou des fichiers liés aux contributions de forum aux états suivants :

  • Pas d'indexation : Les fichiers ne seront pas indexés à la prochaine indexation.
  • Indexé : Les fichiers sont notés comme étant indexés.
  • En attente d'indexation : Les fichiers sont notés comme étant en attente d'indexation.



Planification du processus d'indexation

La planification du processus d'indexation sous-entend une ré-indexation de tous les fichiers « indexables » du serveur.

Les étapes à planifier pour automatiser l'indexation sont les suivantes :

  1. Générer le fichier de configuration de l'indexation.
  2. Exécuter le fichier de configuration de l'indexation.

L'utilisation de wget (http://www.gnu.org/software/wget/) est nécessaire à l'exécution de ce processus. wget doit être dans le PATH de votre serveur.

Remarque : si pour une raison ou une autre, le programme wget ne s'exécute pas avec l'adresse IP indiquée dans votre configuration Ovidentia, il est parfois nécessaire d'ajouter le paramètre bind en indiquant l'adresse désirée.

Exemple : wget --bind-address=127.0.0.1

Exemple dans un environnement Linux avec wget

<source lang="bash"> wget -q -O /dev/null 'http://VotreServeur/index.php?tg=usrindex&idx=2&prepare=1' source /VotreRepertoireUploadOvidentia/SearchIndex/index.bat </source>

Exemple dans un environnement Windows avec wget

<source lang="winbatch"> C:\RepertoireWget\wget.exe" -q "'http://VotreServeur/index.php?tg=usrindex&idx=2&prepare=1 C:\VotreRepertoireUploadOvidentia\SearchIndex\index.bat </source>

Recommandations

Le processus d'indexation étant très gourmand en ressources systèmes, il est nécessaire d'utiliser OVIDENTIA. et Swish-e sur un serveur dédié à cette application. De plus, pour les mêmes raisons, il est préférable de planifier le processus d'indexation (la nuit par exemple) plutôt qu'une indexation à la volée (indexation au chargement du fichier).




Utiliser l'indexation dans un module

...


Indexation planifiée

Rajouter &prepare=1 dans les url d'indexation.

Le script génère un fichier .bat pour l'execution.

Les appels du système vers ovidentia se font par défaut au travers de wget, il est possible de modifier l'outil utilisé, exemple avec curl, ligne à ajouter dans config.php :

define('BAB_SWISHE_WGET_URL', 'curl %s > /dev/null 2>&1');