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

1. Installasjon
Den nyeste versjonen kan lastes ned fra linken:
Skjermbilde av installasjonsprogrammet nedenfor:

2. Sjekker drift
Etter at installasjonen er fullført, går du til adressen
Det skal vises en side med status for ES, eksempel nedenfor:

Hvis siden ikke åpnes, kontroller at Elasticsearch-tjenesten er startet. På Windows er dette
tjenesten Elasticsearch.

3. Koble til Docsvision
Koblingen til Elasticsearch konfigureres på siden for fulltekst
indeksering.

Her må du spesifisere:
1. Adressen til Elasticsearch-serveren (angitt ved installasjon).
2. Tilkoblingsstrengen til DB.
3. Adressen til Docsvision (i formatet ConnectAddress=)
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»

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:
Vi vil få svar om statusen for Elasticsearch-tjenesten (i nettleseren):

Statussvaret i Insomnia:

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):

Alle indekser (indices) ES:

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:

Konfigurasjon av Elasticsearch
Henting av innstillinger for Elasticsearch:
Resultatet vil være ganske omfattende, inkludert stier til loggene:

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:
Bare at dette vil være en PUT-request, ikke GET:

Resultat:

Den neste forespørselen viser alle indekser, inkludert de nye (kunde):

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:
som et resultat ser vi: indeksert 87 'oppgaver' og 72 'dokumenter' om vi snakker i termer av vårt system:

Etter en tid er resultatene slik (som standard kjører indekseringsjobben hvert 5. minutt):

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:
Hvis kortet er i lagringen, vil vi se dens 'rå' data, hvis ikke, vil vi se omtrent et slikt svar:

Søke etter kortet i Elasticsearch-noden
Finne dokumentet etter nøyaktig samsvar med feltet Beskrivelse:
Resultat:

søke etter dokumentet der 'Beskrivelsen' inneholder 'Inngående'
Resultat:

Søke etter kortet basert på innholdet i vedlagt fil
resultat:

La oss finne alle kort av typen dokument:
eller alle kort av typen oppgave:
Ved å bruke konstruksjoner og og parametere som Elasticsearch gir i JSON, kan vi samle en slik forespørsel:
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 .
Det er alt for i dag!
#docsvision #docsvisionECM
Nyttige lenker:
- Insomnia Rest klient
Kilde: habr.com
