Hej!
I dag skal vi tale om søgemotoren Elasticsearch (herefter ES), som
arbejder med platformen Docsvision 5.5.

1. Installation
Den seneste version kan downloades via følgende link:
Skærmbillede af installationsprogrammet nedenfor:

2. Kontrol af funktionsdygtighed
Efter installeringen skal du gå til adressen
Der skal vises en side med status for ES, eksempel nedenfor:

Hvis siden ikke åbnes, skal du sikre dig, at Elasticsearch-tjenesten kører. I Windows er dette
tjenesten Elasticsearch.

3. Tilslutning til Docsvision
Tilslutning til Elasticsearch konfigureres på siden for fuldtekstindeksering.
1. Adressen på Elasticsearch-serveren (angivet under installationen).

Her skal angives:
2. Forbindelsesstrengen til databasen.
3. Adressen til Docsvision (i formatet ConnectAddress=
asmx)
skal indekseres, konfigureres.
Du skal også sikre dig, at den konto, som Docsvision
Fulltext Indexing-tjenesten kører under, har adgang til Docsvision-databasen på MS SQL.
Efter tilslutningen skal du sikre dig, at der i MS SQL-databasen blev oprettet opgaver med præfikset:
«DV:FullText__CardWithFilesPrepareRange»
Efter indstillingerne er blevet konfigureret, vil søgefeltet i Windows-klienten blive låst op.

4. REST API Elastic
Administrator kan få forskellige oplysninger om Elasticsearch's drift via
den tilgængelige REST API.
I de følgende eksempler vil vi bruge Insomnia Rest Client.
Hentning af generelle oplysninger
Når tjenesten er startet og kører (http://localhost:9200/ i browseren), kan du
udføre en forespørgsel:
Vi får svar om status for Elasticsearch (i browseren):
Statussvar i Insomnia:

Bemærk, at Status — Green, Yellow, Red. Den officielle dokumentation siger følgende om statusserne:

• Green — Alt fungerer fint (Cluster er fuldt operationelt)
• Yellow — Alle data er tilgængelige, men nogle replikaer i klusteret er endnu ikke tilgængelige
• Red — En del data er utilgængelige af en eller anden grund (selve klusteret fungerer normalt)
Hentning af tilstande om noder i klusteret og deres tilstand (jeg har 1 node):
Alle indekser (indices) ES:

Udover indekser fra Docsvision kan der også være indekser fra andre applikationer — heartbeat,

kibana — hvis du bruger dem. Nødvendige kan sorteres fra de unødvendige. For eksempel,
tag kun indekser, hvis navn inkluderer rd% i titlen:
Lad os tage kun de indekser, hvis navn indeholder rd% i titlen:

Hentning af indstillinger for Elasticsearch:
Hentning af Elasticsearch-indstillinger:
Resultatet vil være ganske omfattende, inklusive stier til logs:

Hvordan man finder listen over indekser, ved vi allerede, Docsvision gør dette automatisk ved at give indeksets navn i formatet:
<имябд+видИндексируемойКарточки>
Det er også muligt at oprette en uafhængig indeks:
Det vil dog ikke være et GET, men en PUT-anmodning:

Resultat:

den næste anmodning viser alle indekser, inklusive de nye (customer):

5. Hentning af information om indekserede data
Status for Elasticsearch-indekser
Når den oprindelige opsætning fra Docsvision er foretaget, skal tjenesten være klar til drift og begynde at indeksere data.
Først kan vi tjekke, om indekserne bliver udfyldt, og deres størrelse er større end standard 'bytes' med den allerede kendte forespørgsel:
resultatet viser: 87 'opgaver' og 72 'dokumenter' er blevet indekseret, hvis vi taler i termerne af vores EDMS:

Efter noget tid ser resultaterne sådan ud (som standard kører jobindekseringen hvert 5. minut):

Vi kan se, at antallet af dokumenter er steget.
Hvordan kan man forstå, at den nødvendige kortlægning er blevet indekseret?
• For det første skal vi sikre os, at korttyperne i Docsvision svarer til de angivne data i Elasticsearch-indstillingerne.
• For det andet skal vi vente på, at et sæt af kort bliver indekseret — der skal gå noget tid, efter at de er kommet ind i Docsvision, før dataene vises i opbevaringen.
• For det tredje kan man søge efter kortet ved hjælp af CardID. Dette kan gøres med anmodningen:
Hvis kortet er i opbevaringen, vil vi se dets 'rå' data; hvis ikke, vil vi se et svar som dette:

Søgning efter kortet i Elasticsearch-noden
Find dokumentet ved præcist at matche feltet Beskrivelse:
Resultat:

søgning efter dokumentet, hvis Beskrivelse indeholder 'Indgående'
Resultat:

Søg efter kortet baseret på indholdet af den vedhæftede fil
resultat:

Lad os finde alle kort af typen dokument:
eller alle kort af typen opgave:
Ved at bruge konstruktioner og og de parametre, som Elasticsearch giver i form af JSON, kan vi samle en sådan anmodning:
Den vil vise alle kort af typen opgave blandt brugere, hvor FirstName = Konstantin, og der er i Orël Kontor.
Udover LIKE er der også andre dokumenterede parametre:
unlike, fields, docs, content osv.
Alle disse er beskrevet .
Det var det for i dag!
#docsvision #docsvisionECM
Nyttige links:
- Insomnia Rest klient
Kilde: habr.com
