Getting acquainted with Elasticsearch step by step

Hei!
I dag skal vi snakke om søkemotoren Elasticsearch (heretter ES), som
brukes av plattformen Docsvision 5.5.

Getting acquainted with Elasticsearch step by step

1. Installasjon

Den nyeste versjonen kan lastes ned fra linken: www.elastic.co/downloads/elasticsearch
Skjermbilde av installasjonsprogrammet nedenfor:
Getting acquainted with Elasticsearch step by step

2. Sjekker drift

Etter at installasjonen er fullført, går du til adressen
http://localhost:9200/
Det skal vises en side med status for ES, eksempel nedenfor:
Getting acquainted with Elasticsearch step by step

Hvis siden ikke åpnes, kontroller at Elasticsearch-tjenesten er startet. På Windows er dette
tjenesten Elasticsearch.
Getting acquainted with Elasticsearch step by step

3. Koble til Docsvision

Koblingen til Elasticsearch konfigureres på siden for fulltekst
indeksering.
Getting acquainted with Elasticsearch step by step

Her må du spesifisere:
1. Adressen til Elasticsearch-serveren (angitt ved installasjon).
2. Tilkoblingsstrengen til DB.
3. Adressen til Docsvision (i formatet ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx
)
4. I fanen «Kort» og «Kataloger» må du konfigurere de dataene som
må indekseres.
Du må også sørge for at kontoen som kjører tjenesten Docsvision
Fulltext Indexing service, har tilgang til DB Docsvision på MS SQL.
Etter tilkoblingen må du sikre deg at det er opprettet oppgaver i MS SQL med prefikset:
«DV:FullText_<DATABASE_NAME>_CardWithFilesPrepareRange»
Getting acquainted with Elasticsearch step by step

Når konfigurasjonen er fullført, vil søkefeltet bli aktivert i Windows-klienten.

4. REST API Elastic

Administrator kan få variert informasjon om driften av Elasticsearch via
det tilgjengelige REST API.
I de følgende eksemplene vil vi bruke Insomnia Rest Client.

Henting av generell informasjon

Så snart tjenesten har startet og fungerer (http://localhost:9200/ i nettleseren), kan du
utføre forespørsel:
http://localhost:9200/_cat/health?v

Vi vil få svar om statusen for Elasticsearch-tjenesten (i nettleseren):
Getting acquainted with Elasticsearch step by step
Statussvaret i Insomnia:
Getting acquainted with Elasticsearch step by step
La oss merke oss Status — Grønn, Gul, Rød. Den offisielle dokumentasjonen sier om statusene følgende:
• Grønn — Alt er bra (Klyngen fungerer som den skal)
• Gul — Alle data er tilgjengelige, men noen replikaer i klyngen er foreløpig ikke tildelt
• Rød — En del data er utilgjengelige av ulike årsaker (klyngen fungerer normalt)
Henting av tilstander for noder i klyngen og deres status (jeg har 1 node):
http://localhost:9200/_cat/nodes?v
Getting acquainted with Elasticsearch step by step

Alle indekser (indices) ES:
http://localhost:9200/_cat/indices?v
Getting acquainted with Elasticsearch step by step

I tillegg til indeksene fra Docsvision, kan det også finnes indekser fra andre applikasjoner — heartbeat,
kibana — hvis du bruker dem. Det nødvendige kan sorteres fra det unødvendige. For eksempel,
vi tar bare indekser med rd% i navnet:
http://localhost:9200/_cat/indices/*card*?v&s=index
Getting acquainted with Elasticsearch step by step

Konfigurasjon av Elasticsearch

Henting av innstillinger for Elasticsearch:
http://localhost:9200/_nodes
Resultatet vil være ganske omfattende, inkludert stier til loggene:
Getting acquainted with Elasticsearch step by step

Hvordan kjenne igjen indekser, vi vet allerede at Docsvision gjør dette automatisk, gir indeksen et navn i formatet:
<имябд+видИндексируемойКарточки>
Det er også mulig å opprette en egen uavhengig indeks:
http://localhost:9200/customer?pretty
Bare at dette vil være en PUT-request, ikke GET:
Getting acquainted with Elasticsearch step by step

Resultat:
Getting acquainted with Elasticsearch step by step

Den neste forespørselen viser alle indekser, inkludert de nye (kunde):
http://localhost:9200/_cat/indices?v
Getting acquainted with Elasticsearch step by step

5. Få informasjon om indekserte data

Status for Elasticsearch-indekser

Etter at den innledende konfigurasjonen fra Docsvision er gjort, bør tjenesten være klar til å arbeide og starte indeksering av data.
Først må vi sjekke at indeksene fylles opp og at størrelsen er større enn standard 'bytes' med den kjente forespørselen:
http://localhost:9200/_cat/indices?v
som et resultat ser vi: indeksert 87 'oppgaver' og 72 'dokumenter' om vi snakker i termer av vårt system:
Getting acquainted with Elasticsearch step by step

Etter en tid er resultatene slik (som standard kjører indekseringsjobben hvert 5. minutt):
Getting acquainted with Elasticsearch step by step

Vi ser at antallet dokumenter har økt.

Hvordan forstå at det nødvendige kortet er indeksert?

• For det første, må vi sørge for at typen kort i Docsvision samsvarer med de angitte dataene i Elasticsearch-innstillingene.
• For det andre, vente på indekseringen av kortmassen - når det kommer til Docsvision, må det gå litt tid før dataene vises i lagringen.
• For det tredje, kan vi søke etter kortet ved hjelp av CardID. Dette kan gjøres med forespørselen:

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

Hvis kortet er i lagringen, vil vi se dens 'rå' data, hvis ikke, vil vi se omtrent et slikt svar:
Getting acquainted with Elasticsearch step by step

Søke etter kortet i Elasticsearch-noden

Finne dokumentet etter nøyaktig samsvar med feltet Beskrivelse:
http://localhost:9200/_search?q=description: Utgående tv1
Resultat:
Getting acquainted with Elasticsearch step by step

søke etter dokumentet der 'Beskrivelsen' inneholder 'Inngående'
http://localhost:9200/_search?q=description like Inngående
Resultat:
Getting acquainted with Elasticsearch step by step

Søke etter kortet basert på innholdet i vedlagt fil
http://localhost:9200/_search?q=content like 'AGILE'
resultat:
Getting acquainted with Elasticsearch step by step

La oss finne alle kort av typen dokument:
http://localhost:9200/_search?q=_type:CardDocument

eller alle kort av typen oppgave:
http://localhost:9200/_search?q=_type:CardTask

Ved å bruke konstruksjoner og og parametere som Elasticsearch gir i JSON, kan vi samle en slik forespørsel:
http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Ørlandet kontor and Employee_FirstName:Konstantin

Det vil vise alle kort av typen oppgave, blant brukerne hvis FirstName = Konstantin, og som befinner seg i Ørlandet kontor.
I tillegg til LIKE det er også andre dokumenterte parametere:
unlike, fields, docs, content, etc.
Alle er beskrevet here.

Det er alt for i dag!

#docsvision #docsvisionECM

Nyttige lenker:

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

Kilde: habr.com

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster