Présentation d'Elasticsearch étape par étape

Bonjour!
Aujourd'hui, nous parlerons du moteur de recherche en texte intégral Elasticsearch (ci-après ES), avec lequel
La plateforme Docsvision 5.5 est en cours d'exécution.

Présentation d'Elasticsearch étape par étape

1. Installation

Vous pouvez télécharger la version actuelle à partir du lien : www.elastic.co/downloads/elasticsearch
Capture d'écran du programme d'installation ci-dessous :
Présentation d'Elasticsearch étape par étape

2. Vérification des fonctionnalités

Une fois l'installation terminée, allez dans
http://localhost:9200/
La page d'état ES doit s'afficher, exemple ci-dessous :
Présentation d'Elasticsearch étape par étape

Si la page ne s'ouvre pas, assurez-vous que le service Elasticsearch est en cours d'exécution. Sous Windows, c'est
Service de recherche élastique.
Présentation d'Elasticsearch étape par étape

3. Connectez-vous à Docsvision

La connexion à Elasticsearch est configurée sur la page du service de texte intégral
indexage.
Présentation d'Elasticsearch étape par étape

Ici, vous devez préciser :
1. Adresse du serveur Elasticsearch (définie lors de l'installation).
2. Chaîne de connexion au SGBD.
3. Adresse Docsvision (au format ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx
)
4. Dans l'onglet « Cartes » et « Répertoires », vous devez configurer les données qui
doit être indexé.
Vous devez également vous assurer que le compte sous lequel le service Docsvision est exécuté
Le service d'indexation de texte intégral a accès à la base de données Docsvision sur MS SQL.
Après vous être connecté, vous devez vous assurer que les tâches avec le préfixe sont créées dans la base de données MS SQL :
"DV:FullText_<DBNAME>_CardWithFilesPrepareRange"
Présentation d'Elasticsearch étape par étape

Une fois les paramètres terminés, la barre de recherche sera déverrouillée dans le client Windows.

4. API REST élastique

L'administrateur peut obtenir diverses informations sur le fonctionnement d'Elasticsearch en utilisant
fourni par l'API REST.
Dans les exemples suivants, nous utiliserons Insomnia Rest Client.

Obtenir des informations générales

Une fois le service opérationnel (http://localhost:9200/ dans le navigateur), vous pouvez
lancez la requête :
http://localhost:9200/_cat/health?v

Obtenons une réponse sur l'état du service Elasticsearch (dans le navigateur) :
Présentation d'Elasticsearch étape par étape
Réponse à l'état d'insomnie :
Présentation d'Elasticsearch étape par étape
Faisons attention au statut - vert, jaune, rouge. La documentation officielle dit ce qui suit à propos des statuts :
• Vert — Tout va bien (le cluster est pleinement opérationnel)
• Jaune : toutes les données sont disponibles, mais certaines répliques du cluster ne leur sont pas encore allouées.
• Rouge : une partie des données est indisponible pour une raison quelconque (le cluster lui-même fonctionne normalement)
Obtenir les états sur les nœuds du cluster et leur état (j'ai 1 nœud) :
http://localhost:9200/_cat/nodes?v
Présentation d'Elasticsearch étape par étape

Tous les indices ES :
http://localhost:9200/_cat/indices?v
Présentation d'Elasticsearch étape par étape

En plus des index de Docsvision, il peut également y avoir des index d'autres applications - heartbeat,
Kibana - si vous les utilisez. Vous pouvez trier les éléments nécessaires de ceux qui ne sont pas nécessaires. Par exemple,
Prenons uniquement les index dont le nom contient %card% :
http://localhost:9200/_cat/indices/*card*?v&s=index
Présentation d'Elasticsearch étape par étape

Configuration d'ElasticSearch

Obtenir les paramètres d'Elasticsearch :
http://localhost:9200/_nodes
Le résultat sera assez complet, y compris les chemins d'accès aux journaux :
Présentation d'Elasticsearch étape par étape

Nous savons déjà comment connaître la liste des index ; Docsvision le fait automatiquement, en donnant le nom à l'index au format :
<nom de la base de données+type de carte indexée>
Vous pouvez également créer votre propre index indépendant :
http://localhost:9200/customer?pretty
Seulement, ce ne sera pas une requête GET, mais une requête PUT :
Présentation d'Elasticsearch étape par étape

Résultat:
Présentation d'Elasticsearch étape par étape

la requête suivante affichera tous les index, y compris les nouveaux (client) :
http://localhost:9200/_cat/indices?v
Présentation d'Elasticsearch étape par étape

5. Obtention d'informations sur les données indexées

État de l'index Elasticsearch

Une fois la configuration initiale par Docsvision terminée, le service devrait être prêt à fonctionner et commencer à indexer les données.
Tout d’abord, vérifions que les index sont remplis et que leur taille est supérieure aux « octets » standards à l’aide d’une requête qui nous est déjà familière :
http://localhost:9200/_cat/indices?v
Résultat, on voit : 87 « tâches » et 72 « documents » ont été indexés, en termes de notre EDMS :
Présentation d'Elasticsearch étape par étape

Au bout d'un certain temps, les résultats sont les suivants (par défaut, les jobs d'indexation sont lancés toutes les 5 minutes) :
Présentation d'Elasticsearch étape par étape

On voit que le nombre de documents a augmenté.

Comment savoir que la carte dont vous avez besoin a été indexée ?

• Tout d'abord, vous devez vous assurer que le type de carte dans Docsvision correspond aux données spécifiées dans les paramètres d'Elascticsearch.
• Deuxièmement, attendez que le tableau de cartes soit indexé - lorsqu'il entre dans Docsvision, un certain temps doit s'écouler avant que les données n'apparaissent dans le stockage.
• Troisièmement, vous pouvez rechercher une carte par CardID. Vous pouvez le faire avec la requête suivante :

http://localhost:9200/_search?q=_id=2116C498-9D34-44C9-99B0-CE89465637C9

Si la carte est dans le stockage, nous verrons ses données « brutes » ; sinon, nous verrons quelque chose comme ceci :
Présentation d'Elasticsearch étape par étape

Rechercher une carte dans un nœud Elasticsearch

Rechercher un document par correspondance exacte du champ Description :
http://localhost:9200/_search?q=description: Исходящий tv1
Résultat:
Présentation d'Elasticsearch étape par étape

rechercher un document dont la description comporte une entrée « entrant »
http://localhost:9200/_search?q=description like Входящий
Résultat:
Présentation d'Elasticsearch étape par étape

Rechercher une carte par le contenu du fichier joint
http://localhost:9200/_search?q=content like ‘AGILE’
résultat:
Présentation d'Elasticsearch étape par étape

Retrouvons toutes les cartes du type document :
http://localhost:9200/_search?q=_type:CardDocument

ou toutes les cartes du type de tâche :
http://localhost:9200/_search?q=_type:CardTask

Utiliser des dessins ainsi que et les paramètres qu'Elasticsearch donne sous forme de JSON, vous pouvez assembler la requête suivante :
http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Орёл офиc and Employee_FirstName:Konstantin

Il affichera toutes les cartes du type de tâche, parmi les utilisateurs dont le prénom = Konstantin et qui se trouvent dans Eagle Office.
Mais COMME Il existe d'autres paramètres documentés :
contrairement aux champs, aux documents, au contenu, etc.
Tous sont décrits ici.

C'est tout pour aujourd'hui!

#Docsvision #docsvisionECM

Liens utiles:

  1. Client de repos insomnie https://insomnia.rest/download/#windows
  2. https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html
  3. https://www.elastic.co/guide/en/elasticsearch/reference/1.4/_exploring_your_data.html
  4. https://stackoverflow.com/questions/50278255/elasticsearch-backup-on-windows-and-restore-on-linux
  5. https://z0z0.me/how-to-create-snapshot-and-restore-snapshot-with-elasticsearch/
  6. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters
  7. http://qaru.site/questions/15663281/elasticsearch-backup-on-windows-and-restore-on-linux

Source: habr.com

Ajouter un commentaire