Bonjour!
Aujourd'hui, nous allons parler du moteur de recherche plein texte Elasticsearch (ci-après ES), avec lequel
la plateforme Docsvision 5.5 fonctionne.

1. Installation
Vous pouvez télécharger la version actuelle à l'adresse suivante :
Aperçu de l'installateur ci-dessous :

2. Vérification du bon fonctionnement
Une fois l'installation terminée, rendez-vous à l'adresse
Une page d'état d'ES devrait s'afficher, exemple ci-dessous :

Si la page ne s'ouvre pas, assurez-vous que le service Elasticsearch est en cours d'exécution. Sous Windows, cela
est le service Elasticsearch.

3. Connexion à Docsvision
La connexion à Elasticsearch se configure sur la page du service de recherche plein texte.
Ici, vous devez indiquer :

1. L'adresse du serveur Elasticsearch (définie lors de l'installation).
2. La chaîne de connexion à la base de données.
3. L'adresse de Docsvision (au format ConnectAddress=
asmx)
Vous devez également vous assurer que le compte sous lequel le service Docsvision
Fulltext Indexing service, a accès à la base de données Docsvision sur MS SQL.
Après la connexion, vérifiez que des tâches préfixées par :
« DV:FullText__CardWithFilesPrepareRange » ont été créées dans la base de données MS SQL.
Après avoir effectué les configurations, la barre de recherche sera débloquée dans le client Windows.
4. API REST Elastic

L'administrateur peut obtenir diverses informations sur le fonctionnement d'Elasticsearch via
l'API REST fournie.
Dans les exemples suivants, nous allons utiliser Insomnia Rest Client.
Obtenir des informations générales
Une fois le service démarré et en cours d'exécution (http://localhost:9200/ dans le navigateur), vous pouvez
effectuer une requête :
Nous recevrons une réponse concernant l'état du service Elasticsearch (dans le navigateur) :
Réponse sur l'état dans Insomnia :
Notons le Statut — Vert, Jaune, Rouge. La documentation officielle indique les statuts comme suit :

• Vert — Tout va bien (Le cluster fonctionne correctement)

• Jaune — Toutes les données sont accessibles, mais certaines répliques dans le cluster ne sont pas encore allouées pour leur
• Rouge — Une partie des données est inaccessible pour une raison quelconque (le cluster fonctionne normalement)
Obtenir des informations sur les nœuds dans le cluster et leur état (j'ai 1 nœud) :
Tous les index (indices) ES :
En plus des index de Docsvision, il peut y avoir également des index d'autres applications — heartbeat,

kibana — si vous les utilisez. Vous pouvez trier les nécessaires des non nécessaires. Par exemple,

prenons uniquement les index dont le nom contient rd% :
Configuration d'Elasticsearch
prenons uniquement les index dont le nom contient rd% dans le titre :

Configuration d'Elasticsearch
Obtention des paramètres d'Elasticsearch :
Le résultat sera assez vaste, y compris les chemins vers les journaux :

Pour connaître la liste des index, nous savons déjà que Docsvision le fait automatiquement en donnant le nom de l'index au format :
<имябд+видИндексируемойКарточки>
Il est également possible de créer un index indépendant :
Cependant, ce sera une requête PUT, et non GET :

Résultat :

la requête suivante affichera tous les index, y compris les nouveaux (customer) :

5. Obtention d'informations sur les données indexées
État des index Elasticsearch
Après que les réglages initiaux aient été effectués du côté de Docsvision, le service doit être prêt à fonctionner et à commencer l'indexation des données.
Tout d'abord, vérifions que les index se remplissent et que leur taille dépasse les 'octets' standards par la requête déjà familière :
Nous voyons en résultat : 87 'tâches' et 72 'documents' indexés, pour parler en termes de notre GED :

Après un certain temps, les résultats sont tels (par défaut, le job d'indexation est lancé toutes les 5 minutes) :

Nous constatons que le nombre de documents a augmenté.
Comment savoir qu'une carte nécessaire a été indexée ?
• Tout d'abord, il faut s'assurer que le type de carte dans Docsvision correspond à ceux spécifiés dans les données de configuration d'Elasticsearch.
• Deuxièmement, il faut attendre l'indexation du lot de cartes — lorsque cela entre dans Docsvision, un certain temps doit s'écouler avant que les données apparaissent dans le stockage.
• Troisièmement, on peut rechercher la carte par CardID. On peut le faire avec la requête :
Si la carte est dans le stockage, nous verrons ses données 'brutes', sinon nous aurons une réponse similaire à celle-ci :

Recherche de la carte dans le nœud Elasticsearch
Trouver le document par correspondance exacte sur le champ Description :
Résultat :

recherche d'un document dont le Description contient 'Entrant'
Résultat :

Recherche de la carte par le contenu du fichier joint
résultat :

Trouvons toutes les cartes de type document :
ou toutes les cartes de type tâches :
En utilisant des constructions and et les paramètres que renvoie Elasticsearch sous forme de JSON, on peut construire la requête suivante :
Cela montrera toutes les cartes de type tâches, parmi les utilisateurs dont le prénom est Konstantin, se trouvant dans le bureau d'Orel.
En outre LIKE il existe d'autres paramètres documentés :
unlike, fields, docs, content, etc.
Tous sont décrits .
C'est tout pour aujourd'hui !
#docsvision #docsvisionECM
Liens utiles :
- Client Rest Insomnia
Source : habr.com
