Installation Power Search (On Premise)

Dans un offre Saas/Cloud, le Power Search est déjà installé et opérationnel

SOMMAIRE

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.

 

  • L'installation d'un service Search peut s'effectuer à l'aide d'un assistant présent dans le programme 'Harmony.dhop'

    • Avant d'exécuter ce programme, vous devez avoir sélectionné l'environnement (soit en utilisant l'icone Divalto depuis la traybar soit en exécutant l'utilitaire 'xDivaltoSelectEnv.exe')

    • L'environnement déterminera automatiquement un certain nombre de paramètres

    • L'assistant est disponible sur le menu « Administration » : 'Installation Power Search Serveur'

 

Installation du Power Search - composant SERVEUR

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) :

  • Répertoire source :

    • Emplacement (Windows) du dossier objets\search livré en standard avec chaque version de l'ERP Infinity

  • 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 (fichiers XML). 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.

Chemin des objets :

* Base : Dossier qui contient les objets standards de l'ERP

* Surcharge : Dossier qui contient les surcharges de l'ERP

  • 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  

Lorsque le processus d'installation est terminé, le service sera automatiquement démarré

  • Vous pouvez ajuster les paramètres du service si nécessaire

    • L'identité du compte de service doit avoir accès en lecture aux fichiers joints ainsi qu'à la base de données SQL

  • Le service Search doit être déclaré dans la table des serveurs

    • Cette opération doit s'effectuer sur les serveurs d'applications pour permettre aux utilisateurs d'accéder au service

    • Le port utilisé lors de l'installation devra correspondre à celui indiqué dans la table

<NAME>search_testing<ADDRESS>10.127.13.35<SQLPATH><COMMENT>testing<TYPE>SEARCH<OS>WINDOWS<PORT>58174

  • Le service doit être défini dans les paramètres de l'environnement puis diffusé aux utilisateurs

    • Le nom du service tel que défini dans la table des serveurs devra correspondre au nom qui sera utilisé comme paramètre d'environnement

       

  • 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 des balises principales et complémentaires

Balises principales

Usage

Détails

Balises principales

Usage

Détails

<Directory>

Répertoire de la base search

indique le dossier windows de la base Search

<IndexExistingDocument>

Stratégie générale de ré-indexation des documents existants dans la base Search

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).

<Dictionary>

Liste des dictionnaires de documents

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.

<RecordSQLPath>

<RecordSQLOverwritePath>

Le chemin des 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 à 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.

<User>

Code utilisateur utilisé pour indexation de la base ERP

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. (Ce sont les chemins implicites de cet utilisateur qui déterminent la base de données ERP à laquelle le moteur d'indexation accède.)

UsersPath

Serveur ou chemin du fichier utilisateurs

Cette balise permet d'indiquer un serveur ou un chemin du fichier des utilisateurs Xlogf (des utilisateurs et donc des implicitesSQL.xml)
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.

Attention : L'utilisateur déclaré par la balise <User> doit toujours être déclaré sur le serveur Search lui-même dans /divalto/sys/xlogf.dhfi.
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.

<Logging>

Option de journalisation

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. Plusieurs niveaux de journalisation existent : None (false), Critical, Error, Information (true), Debug, Trace.

Balises complémentaires

  • Exclure un document dans un dictionnaire

<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" />

 

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.

 

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.

 

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.

 

Installation Search - composant CLIENT

Deux paramétrages sont nécessaires sur le poste client pour pouvoir accéder au serveur Search :

  • La déclaration du serveur Search dans la table des serveurs

  • L'ajout du nom du serveur Search dans l'environnement de l'utilisateur

Ces opérations sont également nécessaires sur le serveur afin de pouvoir utiliser la console d'administration Search sur le serveur lui-même.
Remarque : Le serveur Search est créé dans la table des serveurs par l'installation de l'ERP Divalto.

Table des serveurs Search

Harmony / Paramétrage / Serveurs

Si le nom du serveur correspond à son nom Netbios, l'adresse IP est facultative.
Si un serveur héberge plusieurs serveurs Search, il faut créer autant d'entrées dans la table qu'il y a de serveurs (chacun avec son numéro de port dédié). Dans ce cas, il faudra indiquer l'adresse IP du serveur car chaque serveur doit porter un nom différent dans la table.

Environnement utilisateur

Harmony / Paramétrage / gestion des Environnements

Le nom du serveur Search est un paramètre de l'environnement de l'utilisateur.

 

Le paramètre « Serveur Search » de l'environnement de l'utilisateur indique le nom du serveur Search à utiliser. Lorsque ce paramètre est présent dans l'environnement, le menu Divalto et la toolbar des Zooms offrent l'accès à la recherche.
Les boutons « Propager » et « Exporter dans un fichier » permettent de diffuser les environnements vers tous les postes clients.