Présentation d'Elasticsearch étape par étape

Bonjour
Aujourd'hui, nous allons parler du moteur de recherche plein texte Elasticsearch (ci-après ES), avec lequel
La plate-forme Docsvision 5.5 est en cours d'exécution.





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:


2. Bilan de santé


Une fois l'installation terminée, accédez à
http: // localhost: 9200 /
Une page avec le statut ES devrait apparaître, un exemple ci-dessous:



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


3. Connexion Ă  Docsvision


La connexion à Elasticsearch est configurée sur la page de service de texte intégral
indexation.


Ici, vous devez spécifier:
1. Adresse du serveur Elasticsearch (définie lors de l'installation).
2. La 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
doivent être indexés.
Vous devez également vous assurer que le compte sous lequel le service Docsvision s'exécute
Le service d'indexation Fulltext a accès à la base de données Docsvision sur MS SQL.
Après la connexion, 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_ <MNBD> _CardWithFilesPrepareRange"


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

4. Élastique API REST


Un administrateur peut obtenir diverses informations sur Elasticsearch Ă  l'aide de
fourni par l'API REST.
Dans les exemples suivants, nous utiliserons Insomnia Rest Client.

Obtenir des informations générales


Une fois que le service a démarré et commencé à fonctionner (http: // localhost: 9200 / dans le navigateur), vous pouvez
exécuter la demande:
http: // localhost: 9200 / _cat / health? v

Nous obtiendrons une réponse sur le statut du service Elasticsearch (dans le navigateur):

Réponse au statut d'insomnie:

Faites attention au statut - vert, jaune, rouge. La documentation officielle dit ce qui suit sur les 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 ont pas encore été allouées.
• Rouge - Une partie des données n'est pas disponible pour une raison quelconque (le cluster lui-même fonctionne normalement)
Obtenir des états sur les nœuds d'un cluster et leur état (j'ai 1 nœud):
http: // localhost: 9200 / _cat / nodes? v


Tous les indices ES:
http: // localhost: 9200 / _cat / indices? v


En plus des indices de Docsvision, il peut y avoir des indices d'autres applications - rythme cardiaque,
kibana - si vous les utilisez. Du nécessaire au superflu peut être trié. Par exemple
prendre uniquement les indices au nom desquels il y a% card% dans le nom:
http: // localhost: 9200 / _cat / indices / * card *? v & s = index


Configuration d'Elasticsearch


Obtention des paramètres Elasticsearch:
http: // localhost: 9200 / _nodes
Le résultat sera assez complet, y compris le chemin d'accès aux journaux:


Comment connaître une liste d'index, nous le savons déjà, Docsvision le fait automatiquement, en donnant à l'index un nom au format:
<nom de la base de données + vue Carte indexée>
Vous pouvez également créer votre propre index indépendant:
http: // localhost: 9200 / client? jolie
Seulement ce ne sera pas un GET, mais une requĂŞte PUT:


Résultat:


La requĂŞte suivante affichera tous les index, y compris les nouveaux (client):
http: // localhost: 9200 / _cat / indices? v


5. Obtenir des informations sur les données indexées


Statut de l'index Elasticsearch


Une fois la configuration initiale de Docsvision terminée, le service doit être prêt à fonctionner et à démarrer l'indexation des données.
Tout d'abord, nous allons vérifier que les indices sont renseignés et que leur taille est supérieure aux «octets» standard avec la requête que nous connaissons déjà:
http: // localhost: 9200 / _cat / indices? v
en conséquence, nous voyons: 87 «tâches» et 72 «documents» sont indexés en fonction de notre EDMS:


Après un certain temps, les résultats sont les suivants (par défaut, l'indexation des travaux commence toutes les 5 minutes):


On voit que le nombre de documents a augmenté.

Comment comprendre que la carte souhaitée est 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 Elascticsearch.
• Deuxièmement, attendez l'indexation du tableau de cartes - s'il entre dans Docsvision, cela devrait prendre un certain temps avant que les données n'apparaissent dans le référentiel.
• Troisièmement, vous pouvez rechercher une carte par CardID. Cela peut être fait sur demande:

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

Si la carte est dans le magasin, nous verrons ses données "brutes", sinon, nous verrons quelque chose comme cette réponse:


Rechercher une carte dans le nœud Elasticsearch


Recherchez le document par la correspondance exacte du champ Description:
http: // localhost: 9200 / _search? q = description: TV1 sortant
Résultat:


rechercher un document qui a une entrée «Boîte de réception» dans la description
http: // localhost: 9200 / _search? q = description comme Incoming
Résultat:


Rechercher une carte par le contenu du fichier joint


Retrouvez toutes les fiches 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

En utilisant les constructions et et les paramètres renvoyés par Elasticsearch au format JSON, vous pouvez assembler la demande suivante:
http: // localhost: 9200 / _search? q = _type: CardTask et Employee_RoomNumber: Office eagle et Employee_FirstName: Konstantin

Il affichera toutes les cartes de type de travail, parmi les utilisateurs qui ont FirstName = Konstantin et qui sont dans le bureau Eagle.
En plus de LIKE, 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 Insomnia Rest 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: https://habr.com/ru/post/fr449304/


All Articles