Généralités Power Search

Puissant moteur de recherche transversale de la solution, cette fonction Power Search permet de questionner et de retrouver rapidement toute information dans les bases de données et les documents archivés.

Installation possible sur le même serveur que la base de données ou sur un serveur dédié

Architecture générale du Power Search


Le moteur de recherche effectue les recherches dans une base de données spécialement adaptée à la recherche que nous appellerons la base Search. Elle est alimentée à partir des données du système d'informations de l'entreprise, qui comporte les bases de données, mais également les pièces jointes associées. Nous appellerons ces données la base ERP. La description des documents établit le lien entre les données de la base ERP et celles de la base Search.


Le serveur Search est un service Windows (DhsSearchServer).
Le client Search dialogue avec le serveur de recherche en mode client/serveur. A chaque processus de recherche client correspond un thread sur le serveur de recherche. Le serveur renvoie le résultat de la recherche vers le client.
La console d'administration (XSearchConsole) permet de visualiser l'activité du serveur et d'effectuer des actions (par exemple l'indexation d'un document, l'arrêt du serveur etc.)
Un même serveur peut héberger plusieurs services Search par exemple si l'on souhaite physiquement séparer les bases pour un serveur ou pour une application sensible comme la paie.

Serveur Search

La base Search est gérée le service windows DhsSearchServer. Un serveur Search nécessite relativement peu de ressources (sauf pour l'indexation initiale de tous les documents en cas de reprise de volumes importants) et peut généralement être installé sur le même serveur que celui de la base de données.
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 :

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

  • Harmony Power Foundation doit être installé sur le serveur Search.

Attention :
Lorsque le serveur Search est installé sur le même serveur que l'ERP Divalto, on y installera d'abord l'ERP et les bases de données.

Documents pour le search

La base Search contient des documents.
Un document est un ensemble cohérent d'informations pertinentes pouvant faire l'objet d'une recherche.
Les documents contiennent des données que nous appellerons Field.
La recherche trouve les documents correspondant aux critères de recherche ordonnés par pertinence.

La description d'un document passe par une phase de conception qui permettra de définir quelles sont les données du système d'informations qui doivent entrer dans sa composition. Divalto livre des documents standards pour l'ERP.
La description d'un document se trouve dans un dictionnaire de documents Search. Il s'agit d'un fichier au format XML.
Les documents de l'ERP Divalto sont classés par domaine fonctionnel (CRM, Commerce & logistique, Comptabilité, Production, Paie, etc.). Il existe un dictionnaire pour chaque domaine fonctionnel. Les dictionnaires standards peuvent être surchargés afin d'ajouter des données spécifiques dans les documents fournis.
A chaque document est associée une application qui s'exécute lorsque l'on double-clique dans le résultat de la recherche.
L'application est définie dans la description du document par le nom du module et de la fonction à exécuter.
Le Power Search s'étend également aux documents de la cartographie de produits, aux documents de la dématérialisation ainsi qu'aux données du catalogue fournisseur:

  • Assortiment de produits ;

  • Cartographie de produits ;

  • Articles d'un assortiment ;

  • Contrôle facture fournisseur ;

  • Catalogue fournisseur ;

  • Dataset facture fournisseur ;

  • Dataset prévisionnel de ventes ;

  • Dataset temps collaborateur.

Ainsi, le document Article a été complété afin de lire les éléments du catalogue fournisseur. Une recherche article par données catalogue fournisseur est donc possible ; une fiche RFO est nécessaire dans ce cas pour limiter la liste aux fournisseurs référencés.

Indexation des documents pour le search

Les documents Search sont créés à partir de la base de données de l'ERP. L'opération qui consiste à ajouter un document à la base Search est appelée l'indexation du document. Elle est réalisée par le serveur Search.
Celui-ci indexe les documents selon 2 modalités :

  • Presque en temps réel

La ou les applications qui créent, modifient ou suppriment des données de l'ERP associées à un document Search en informent le serveur Search au moment où elles réalisent l'opération. La demande d'indexation s'inscrit dans une file d'attente des traitements à réaliser par le serveur. Celui-ci indexe le document concerné généralement dans les secondes qui suivent la demande.

  • Par lot

Les documents sont créés dans la base Search en temps différé, par exemple tous les soirs. Les traitements périodiques permettent de définir la fréquence et la liste des indexations à effectuer. Les stratégies d'indexation définissent l'algorithme de ré-indexation des documents déjà existants dans la base Search.


Architecture client serveur
Le serveur s'occupe de l'indexation et de la recherche des documents dans la base Search. Les clients interrogent le serveur ou lui donnent l'ordre d'indexer un nouveau document créé dans l'ERP. L'opération d'indexation est effectuée sur le serveur, elle n'impacte pas l'application qui crée le document dans l'ERP (par exemple, la saisie des factures, des événements de C.R.M ou le zoom Clients).

Données communes à l'ensemble des documents du search

Il existe des données communes à l'ensemble des documents :


En provenance de la description

  • Le domaine

  • La famille

  • Le titre



En provenance des données

  • Le sujet

  • Le dossier

  • L'établissement

  • L'auteur

  • La date de création

  • La date de modification

Les données communes peuvent servir de critères de filtrage lors de la recherche.
Par exemple, rechercher uniquement les documents de type "clients" ou les documents de CRM des dossiers 996 et 997.

 

Confidentialités

 

La gestion de la confidentialité des documents est un élément primordial pour un moteur de recherche dans le cadre du système d'informations d'une entreprise.
Elle est gérée à 3 niveaux dans Divalto Power Search :

  • Au niveau de la base elle-même.

En effet, il est possible d'installer plusieurs serveurs Search indépendants sur un même site (sur un même serveur ou des serveurs distincts). Par exemple l'installation d'un serveur dédié pour la Paie préserve de tout risque d'accès à une information confidentielle pour les utilisateurs n'ayant pas accès à ce serveur.

  • Au niveau des documents.

Chaque document peut être protégé par une serrure pour laquelle la clé d'accès est exigée lors d'une recherche. Un document pour laquelle la clé n'est pas fournie par l'utilisateur (par exemple les avoirs aux clients) n'apparaîtra pas dans le résultat de la recherche.

  • Au niveau de chaque instance d'un document.

Pour un même document (par exemple les clients), l'accès peut être limité par l'ERP selon différents critères (le dossier, l'établissement, la zone géographique, etc.). Cette confidentialité est également prise en compte par le moteur de recherche. Si l'utilisateur n'a pas accès au dossier numéro 2, aucun document appartenant à ce dossier n'apparaîtra dans le résultat de ses recherches.