Dans un offre Saas/Cloud, le Power Search est déjà installé et opérationnel
Préambule à l'installation du Power Search
Le programme xSearchInstall.dhop (accessible aussi à partir du choix « Administration » du menu de Harmony) permet d'installer un serveur Search.
Le programme d'installation du serveur Divalto Power Search ajoute le service « Divalto DhsSearchServer » aux services Windows du serveur et ajoute le raccourci vers la console d'administration du serveur au menu « Démarrer » de Windows.
Le service DhsSearchServer est le moteur de Divalto Power Search. Généralement on l'installera sur le serveur de la base de données de l'ERP.
En effet :
La recherche consomme peu de ressources
L'indexation par lot peut s'effectuer en dehors des heures ouvrées
L'indexation en presque temps réel concerne généralement peu de documents chaque jour
Remarque : Harmony Power Foundation doit être installé sur le serveur Search.
Choix du serveur Search
Si le serveur de base de données est déjà fortement sollicité ou si la recherche et la production de nouveaux documents constituent une activité importante de l'entreprise, on privilégiera un serveur indépendant pour la base Search.
Plusieurs serveurs Search peuvent être hébergés sur un même serveur Windows, par exemple si l'on souhaite physiquement séparer les bases pour un serveur en mode ASP ou pour une application sensible comme la paie.
Installation du Power Search
Le programme xSearchInstall.dhop, également accessible à partir du choix « Administration » du menu Harmony permet d'installer un serveur Search.
Il crée :
Le service DhsSearchServer
Un raccourci vers la console d'administration du serveur dans le menu Windows.
Attention :
L'installation du serveur Search doit s'effectuer après l'installation de l'ERP et des bases de données.
L'installateur pose les questions suivantes (les réponses sont pré-garnies avec des valeurs standard) :
Paramètres éditeur
Il s'agit du chemin d'un répertoire source contenant un modèle du fichier de paramétrage du serveur (Search_param.xml), ainsi que les dictionnaires décrivant les documents. Divalto fournit ces fichiers dans le répertoire /divalto/objets/Search (après l'installation de l'ERP sur un serveur). Remarque : L'environnement dans lequel s'effectue l'installation du produit est pris en compte, en particulier pour positionner le paramètre <UsersPath> (qui détermine la base de données ERP qui servira à alimenter la base de données Search) du fichier paramètre search_param.xml. Le mot clé ##cheminxlog## du fichier modèle est remplacé par le chemin du serveur xlog de l'environnement courant.
Chemin des paramètres
Il s'agit du répertoire de destination où sont stockés tous les fichiers paramètres du serveur Search. Le chemin de ce répertoire est passé en paramètre au service DhsSearchServer. S'il y a plusieurs services Divalto Power Search hébergés sur le même serveur, chacun aura son propre répertoire de paramètres.
Chemin de la base Search
La base Search est stockée dans un répertoire Windows. C'est une structure arborescente de sous-répertoires. La base de données Search est constituée à partir des données du système d'informations et de la description des documents. Sa taille dépend du volume des données à indexer ; en particulier, l'indexation de pièces jointes importantes nécessite de l'espace sur le disque.
Chemins des dictionnaires de RecordSQL
Pour créer les documents dans la base Search, Divalto Power Search accède aux tables de l'ERP au travers de RecordSQL. Des dictionnaires de RecordSQL spécifiques au Search sont fournis par Divalto avec les objets standards de l'ERP.
Si vous êtes amenés à personnaliser ces dictionnaires afin d'ajouter des informations complémentaires dans les documents existants, il faudra indiquer le répertoire des dictionnaires de surcharge. Si vous avez vos propres dictionnaires, vous pouvez également les stocker dans le répertoire de surcharge.
Suffixe du nom du service DhsSearchServer
Si vous installez plusieurs services Search sur le même serveur, chaque service doit porter un nom différent. On indiquera ici un suffixe permettant d'identifier chacun des serveurs, par exemple le nom du client sur un serveur en mode ASP ou PAIE s'il s'agit d'un serveur spécifique pour les documents ayant trait à la paie.
Port TCP/IP
Le client et le serveur dialoguent par le protocole TCP/IP. Le serveur « écoute » le client sur un numéro de port particulier. Le port proposé par défaut est le port 1236. Vous devez changer ce port si :
Il est déjà utilisé par une autre application.
Si vous installez plusieurs serveurs Search sur le même serveur.
Chaque serveur Search doit « écouter » sur un port différent.
Le numéro de port utilisé par le serveur doit être déclaré sur le poste client, au niveau du paramétrage du serveur Search dans la table des serveurs du poste client.
Chemin des paramètres :
Les chemins sont conservés dans le fichier Search_Param.xml situé dans le répertoire des paramètres du serveur. Il s'agit de chemins Windows qui doivent être accessibles depuis le serveur Search par le service DhsSearchServer. On s'assurera que ce service puisse accéder et possède les droits d'accès à ces répertoires, en particulier lorsque le serveur Search est dédié.
Paramètres éditeur :
/divalto/objets/Search/Search_param.xml
On s'assurera aussi que le serveur Search ait accès aux répertoires des pièces jointes.
Fichier Search_Param.xml
Le schéma des fichiers XML est visible dans les fichiers XSD présents sur le master dans le dossier Harmony\Search\xsd
Ce fichier, situé dans le répertoire des paramètres du serveur, contient :
Le répertoire de la base Search
<Directory>
La stratégie générale de ré-indexation des documents existants dans la base Search.
<IndexExistingDocument>
Chaque document est identifié par un code unique. Ce code fait le lien avec la base de données de l'ERP. Lors de l'indexation d'un document qui existe déjà dans la base Search, quatre stratégies sont possibles :
Toujours réindexer les documents existants
Ne jamais réindexer les documents existants
Ne réindexer que les documents modifiés
Ne réindexer que les documents récents.
Cette stratégie générale peut être adaptée pour chaque document particulier.
Elle a un impact très important sur les temps d'indexation (voir les détails dans le paragraphe consacré à ce sujet).
La liste des dictionnaires de documents.
<Dictionary>
Les balises Dictionnary permettent d'indiquer la liste des dictionnaires de documents gérés par le serveur. Les dictionnaires eux-mêmes doivent être dans le répertoire des paramètres du serveur. Les dictionnaires spécifiques peuvent être ajouté en plus des dictionnaires standard fournis par Divalto.
<Excluded>
Pour chaque dictionnaire, des documents ou des familles de documents peuvent être exclus.
Exemple
<Dictionary Name="Dico_Document_DAV" > <Excluded Document="avoir_client" /> </Dictionary> <Dictionary Name="Dico_Document_DRT" />
Le chemin des RecordSQL
<RecordSQLPath>
<RecordSQLOverwritePath>
Pour créer les documents dans la base Search, Divalto Power Search accède aux tables de l'ERP au travers de RecordSQL. Des dictionnaires de RecordSQL spécifiques au Search sont fournis par Divalto avec les objets standards de l'ERP.
Si vous êtes amenés à surcharger ces dictionnaires afin d'ajouter des informations complémentaires dans les documents existants, il faudra indiquer le répertoire des dictionnaires de surcharge. Si vous avez vos propres dictionnaires, vous pouvez également les stocker dans le répertoire de surcharge.
Le code utilisateur Harmony ainsi que le chemin du serveur des utilisateurs (ServeurXlogf) utilisé par le serveur pour l'indexation des documents.
Pour indexer un document, le serveur Search accède à la base de données de l'ERP (par la lecture des RecordSQL provenant de la description des documents).
Le code utilisateur indiqué ici détermine :
Les droits d'accès. Un droit d'accès complet à tous les documents à indexer est requis.
Les implicites SQL et donc la ou les base(s) de données contenant les données de l'ERP.
L'option de journalisation des actions du serveur.
Logging
Lorsque cette option est active, le serveur Search journalise toutes les opérations d'indexation qu'il effectue. La journalisation est intéressante en phase de démarrage ou d'ajout de nouveaux documents. Elle permet également de « surveiller » l'indexation en mode « presque temps réel ».
Le journal peut être lu par la console d'administration d'Harmony (Xconsole.dhop). Il se trouve dans le répertoire du fichier des paramètres du serveur Search. Le journal permet également de connaître le temps nécessaire à l'indexation des documents
Balise <UsersPath> du fichier Search_param.xml
UsersPath indique le chemin du serveur Xlogf (des utilisateurs et donc des implicitesSQL.xml). C'est le chemin du fichier Connexions.xml. Par défaut /divalto/sys du serveur lui-même. Ce paramètre est particulièrement intéressant en mode ASP et Multi-environnements.
Attention : L'utilisateur doit cependant toujours être déclaré sur le serveur Search lui-même dans /divalto/sys/xlogf.dhfi.
La balise <UsersPath> permet d'indiquer un serveur ou un chemin du fichier des utilisateurs.
Il correspond aussi au chemin du fichier Connexions.xml, qui combiné avec le fichier des implicites détermine la base de données ERP. La valeur par défaut de ce paramètre est le chemin /divalto/sys du serveur lui-même. Ce paramètre est particulièrement intéressant en mode ASP et Multi-environnements. L'utilisateur déclaré par la balise <User> doit cependant toujours être déclaré sur le serveur Search lui-même.
La balise <User> indique le code utilisateur qu'utilise le moteur d'indexation pour accéder à la base ERP. Ce sont les chemins implicites de cet utilisateur qui déterminent la base de données ERP à laquelle la moteur d'indexation.
Balise <User> du fichier Search_param.xml
User indique le code utilisateur qu'utilise le moteur d'indexation pour accéder à la base ERP.
Ce sont les chemins implicites de cet utilisateur qui déterminent la base de données ERP à laquelle le moteur d'indexation accède.
Balise <Logging> du fichier Search_param.xml
Logging à la valeur true permet de journaliser toutes les opérations d'indexation effectuées par le serveur. Cela permet notamment de connaitre les temps d'indexation. La journalisation est intéressante en phase de démarrage ou d'ajout de nouveaux documents. Il permet également de « surveiller » l'indexation en mode « presque temps réel ». Le journal peut être lu par la console d'administration d'Harmony (Xconsole.dhop). Il se trouve dans le répertoire du fichier des paramètres du serveur Search.
Le journal permet également de connaître le temps nécessaire à l'indexation des documents. Plusieurs niveaux de journalisation existent : None (false), Critical, Error, Information (true), Debug, Trace.
Service DhsSearchServer
L'installateur crée puis démarre le service Windows Divalto DhsSearchServer.
En cas d'erreur de paramétrage, le service ne démarre pas. Le fichier /divalto/divaltolog/ferror.log contient le détail de l'erreur. Il est lisible par la console d'administration Xconsole.dhop. Il convient alors de corriger l'erreur puis de redémarrer le service.
Suppression (désinstallation) du service
Pour supprimer le service DhsSearchServer, lancez la commande CMD en tant qu'administrateur (voir le bandeau de l'image ci-dessous) et exécutez la commande sc delete DhsSearchServer ou utilisez l'option de menu « Désinstallation Power search Serveur »
Dans cette commande, il faut spécifier le nom exact du service (mais pas le nom complet). Rappelons qu'il est possible de lancer plusieurs services DhsSearchServer sous des noms différents.
Dans cette commande, il faut spécifier le nom exact du service (mais pas le nom complet). Rappelons qu'il est possible de lancer plusieurs services DhsSearchServer sous des noms différents. Par exemple :
Dans cet exemple, il faut exécuter la commande :
sc delete DhsSearchServer_aaaa.
Désinstallation du serveur Search
Le choix Paramétrage : Désinstallation Power Search Serveur du menu Harmony permet de désinstaller une instance d'un serveur Search (utilitaire xSearchUninstall.dhop).
La désinstallation consiste à supprimer le service DhsSearchServer et les informations qui le concernent dans la base de registre.
Choix de l'analyseur LUCENE
Il est possible de choisir l'analyseur syntaxique à utiliser.
Pour connaître la liste des analyseurs disponibles, allez dans la console d'administration, menu "Affichage" choix "Analyseurs".
Ce choix vous permet de sélectionner et de tester un analyseur.
Pour intégrer l'analyseur de votre choix dans le serveur search, cliquez sur le bouton "Copier les paramètres dans le presse-papier".
Ensuite, intégrez le presse-papier dans le fichier paramètres Search_param.xml.
Le schéma des fichiers XML est visible dans les fichiers XSD présents sur le master dans le dossier Harmony\Search\xsd
Exemple :
<Analyzer Dll="Lucene.Net.dll" AnalyzerName="StandardAnalyzer" NameSpace="Lucene.Net.Analysis.Standard" Version="LUCENE_CURRENT" />
Remarque :
Si vous changez d'analyseur, il faut impérativement refaire l'indexation de toute la base. Le même analyseur est utilisé pour le découpage des mots lors de l'indexation et lors de la recherche.