Introducere în Elasticsearch pas cu pas

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

Introducere în Elasticsearch pas cu pas

1. Instalare

Ultima versiune poate fi descărcată de la următorul link: www.elastic.co/downloads/elasticsearch
Captura de ecran a instalatorului este mai jos:
Introducere în Elasticsearch pas cu pas

2. Verificarea funcționalității

După ce instalarea este finalizată, accesați adresa
http://localhost:9200/
Ar trebui să apară o pagină cu starea ES, exemplul este mai jos:
Introducere în Elasticsearch pas cu pas

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

3. Conectarea la Docsvision

Conectarea la Elasticsearch se configurează pe pagina serviciului de
indexare completă.
Introducere în Elasticsearch pas cu pas

Aici trebuie specificat:
1. Adresa serverului Elasticsearch (setată la instalare).
2. Șirul de conectare la baza de date.
3. Adresa Docsvision (în formatul ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx
)
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”
Introducere în Elasticsearch pas cu pas

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:
http://localhost:9200/_cat/health?v

Voi primi un răspuns despre starea serviciului Elasticsearch (în browser):
Introducere în Elasticsearch pas cu pas
Răspuns despre starea în Insomnia:
Introducere în Elasticsearch pas cu pas
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):
http://localhost:9200/_cat/nodes?v
Introducere în Elasticsearch pas cu pas

Toate indexurile (indices) ES:
http://localhost:9200/_cat/indices?v
Introducere în Elasticsearch pas cu pas

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:
http://localhost:9200/_cat/indices/*card*?v&s=index
Introducere în Elasticsearch pas cu pas

Configurarea Elasticsearch

Obținerea setărilor Elasticsearch:
http://localhost:9200/_nodes
Rezultatul va fi destul de extins, inclusiv căile către loguri:
Introducere în Elasticsearch pas cu pas

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:
http://localhost:9200/customer?pretty
Doar că acesta nu va fi un GET, ci o solicitare PUT:
Introducere în Elasticsearch pas cu pas

Rezultatul:
Introducere în Elasticsearch pas cu pas

solicitarea următoare va arăta toate indexurile, inclusiv cele noi (customer):
http://localhost:9200/_cat/indices?v
Introducere în Elasticsearch pas cu pas

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:
http://localhost:9200/_cat/indices?v
ca rezultat vedem: 87 de «sarcini» și 72 de «documente» dacă ne referim la termenii sistemului nostru de gestionare a documentelor:
Introducere în Elasticsearch pas cu pas

După un timp, rezultatele sunt acestea (de obicei, indexarea sarcinii este inițiată la fiecare 5 minute):
Introducere în Elasticsearch pas cu pas

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:

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

Î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:
Introducere în Elasticsearch pas cu pas

Căutarea cardului în nodul Elasticsearch

Găsește documentul prin potrivirea exactă a câmpului Description:
http://localhost:9200/_search?q=description: Ieșire tv1
Rezultatul:
Introducere în Elasticsearch pas cu pas

căutarea documentului care are în Description includerea ‘Înregistrare’
http://localhost:9200/_search?q=description like Înregistrare
Rezultatul:
Introducere în Elasticsearch pas cu pas

Căutarea cardului după conținutul fișierului atașat
http://localhost:9200/_search?q=content like ‘AGILE’
rezultatul:
Introducere în Elasticsearch pas cu pas

Să găsim toate cardurile de tip document:
http://localhost:9200/_search?q=_type:CardDocument

sau toate cardurile de tip sarcină:
http://localhost:9200/_search?q=_type:CardTask

Folosind construcții și și parametrii pe care Elasticsearch îi oferă sub formă de JSON putem construi o asemenea solicitare:
http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Orël oficiu and Employee_FirstName:Konstantin

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

Asta e tot pentru astăzi!

#docsvision #docsvisionECM

Linkuri utile:

  1. Insomnia Rest client 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

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster