Bună ziua!
Astăzi vom discuta despre motorul de căutare completă Elasticsearch (ES), cu care
lucrează platforma Docsvision 5.5.

1. Instalare
Ultima versiune poate fi descărcată de la următorul link:
Captura de ecran a instalatorului este mai jos:

2. Verificarea funcționalității
După ce instalarea este finalizată, accesați adresa
Ar trebui să apară o pagină cu starea ES, exemplul este mai jos:

Dacă pagina nu s-a deschis, asigurați-vă că serviciul Elasticsearch este pornit. Pe Windows, acesta este
serviciul Elasticsearch.

3. Conectarea la Docsvision
Conectarea la Elasticsearch se configurează pe pagina serviciului de
indexare completă.

Aici trebuie specificat:
1. Adresa serverului Elasticsearch (setată la instalare).
2. Șirul de conectare la baza de date.
3. Adresa Docsvision (în formatul ConnectAddress=)
4. În tab-ul „Carduri” și „Referințe”, trebuie să configurați toate datele pe care
trebuie să le indexați.
De asemenea, trebuie să vă asigurați că contul sub care rulează serviciul Docsvision
Fulltext Indexing service are acces la baza de date Docsvision pe MS SQL.
După conectare, trebuie să verificați dacă în baza de date MS SQL s-au creat sarcini cu prefixul:
„DV:FullText__CardWithFilesPrepareRange”

După finalizarea setărilor, bara de căutare va fi deblocat în clientul Windows.
4. REST API Elastic
Administratorul poate obține informații diverse despre funcționarea Elasticsearch prin
REST API disponibil.
În exemplele următoare, vom folosi Insomnia Rest Client.
Obținerea informațiilor generale
Odată ce serviciul s-a pornit și funcționează (http://localhost:9200/ în browser), puteți
efectua o cerere:
Voi primi un răspuns despre starea serviciului Elasticsearch (în browser):

Răspuns despre starea în Insomnia:

Să ne uităm la Status — Green, Yellow, Red. Documentația oficială vorbește despre statusuri astfel:
• Green — Totul e bine (Cluster complet funcțional)
• Yellow — Toate datele sunt disponibile, dar unele replici în cluster nu au fost încă alocate pentru
• Red — O parte din date sunt indisponibile din orice motiv (clusterul funcționează normal)
Obținerea stărilor nodurilor din cluster și starea lor (eu am 1 nod):

Toate indexurile (indices) ES:

Pe lângă indexurile de la Docsvision, pot exista și indexuri de la alte aplicații — heartbeat,
kibana — dacă le folosiți. Indexurile necesare pot fi sortate de cele inutile. De exemplu,
să luăm doar indexurile a căror nume conține rd% în denumire:

Configurarea Elasticsearch
Obținerea setărilor Elasticsearch:
Rezultatul va fi destul de extins, inclusiv căile către loguri:

Cum putem obține lista indexurilor, știm deja, Docsvision face acest lucru automat, oferind numele indexului în formatul:
<имябд+видИндексируемойКарточки>
De asemenea, se poate crea un index independent:
Doar că acesta nu va fi un GET, ci o solicitare PUT:

Rezultatul:

solicitarea următoare va arăta toate indexurile, inclusiv cele noi (customer):

5. Obținerea informațiilor despre datele indexate
Starea indexurilor Elasticsearch
După ce setările inițiale din partea Docsvision au fost efectuate, serviciul ar trebui să fie gata de funcționare și să înceapă indexarea datelor.
În primul rând, să verificăm dacă indexurile se umplu și dimensiunea lor este mai mare decât «bajți» standard, folosind deja cunoscutul nostru apel:
ca rezultat vedem: 87 de «sarcini» și 72 de «documente» dacă ne referim la termenii sistemului nostru de gestionare a documentelor:

După un timp, rezultatele sunt acestea (de obicei, indexarea sarcinii este inițiată la fiecare 5 minute):

Vedem că numărul documentelor a crescut.
Cum putem înțelege că cardul dorit a fost indexat?
• În primul rând, trebuie să ne asigurăm că tipul cardului în Docsvision corespunde cu datele specificate în setările Elasticsearch.
• În al doilea rând, așteptăm să se finalizeze indexarea grupului de carduri — atunci când este introdus în Docsvision, trebuie să treacă ceva timp până când datele apar în stocare.
• În al treilea rând, putem căuta cardul după CardID. Acest lucru se poate realiza cu o solicitare:
În cazul în care cardul se află în stocare, vom vedea datele sale „neprelucrate”, în caz contrar, vom obține un răspuns asemănător:

Căutarea cardului în nodul Elasticsearch
Găsește documentul prin potrivirea exactă a câmpului Description:
Rezultatul:

căutarea documentului care are în Description includerea ‘Înregistrare’
Rezultatul:

Căutarea cardului după conținutul fișierului atașat
rezultatul:

Să găsim toate cardurile de tip document:
sau toate cardurile de tip sarcină:
Folosind construcții și și parametrii pe care Elasticsearch îi oferă sub formă de JSON putem construi o asemenea solicitare:
Aceasta va arăta toate cardurile de tip sarcină, printre utilizatori ai căror FirstName = Konstantin, și care se află în Orël Oficiu.
În plus, LIKE există și alți parametri documentați:
unlike, fields, docs, content etc.
Toți sunt descriși .
Asta e tot pentru astăzi!
#docsvision #docsvisionECM
Linkuri utile:
- Insomnia Rest client
Sursa: habr.com
