Hej!
I dag ska vi prata om Elasticsearch (hÀdanefter ES), som anvÀnds av
plattformen Docsvision 5.5.

1. Installation
Den aktuella versionen kan laddas ner via lÀnken:
SkÀrmdump av installationsprogrammet nedan:

2. Kontroll av funktionalitet
Efter installationen, gÄ till adressen
En sida med ES-status ska visas, exempel nedan:

Om sidan inte öppnas, kontrollera att Elasticsearch-tjÀnsten Àr igÄng. I Windows Àr det
Elasticsearch-tjÀnsten.

3. Anslutning till Docsvision
Anslutningen till Elasticsearch konfigureras pÄ sidan för tjÀnsten för fulltext
indexering.

HÀr behöver du ange:
1. Adressen till Elasticsearch-servern (anges vid installationen).
2. AnslutningsstrÀngen till databashanteraren.
3. Adress till Docsvision (i formatet ConnectAddress=)
4. PÄ fliken 'Kort' och 'Register' mÄste du stÀlla in vilken data som
ska indexeras.
Det Àr ocksÄ viktigt att verifiera att kontot som kör tjÀnsten Docsvision
Fulltext Indexing service, har Ätkomst till databasen Docsvision pÄ MS SQL.
Efter anslutning, kontrollera att det har skapats uppgifter i MS SQL-databasen med prefixet:
«DV:FullText__CardWithFilesPrepareRange»

Efter att instÀllningarna har gjorts, kommer sökfÀltet att lÄsas upp i Windows-klienten.
4. REST API Elastic
Administratören kan fÄ olika information om Elasticsearchs funktion via
det tillhandahÄllna REST API.
I följande exempel kommer vi att anvÀnda Insomnia Rest Client.
HĂ€mta generell information
SÄ snart tjÀnsten har startats och fungerar (http://localhost:9200/ i webblÀsaren), kan du
utföra en begÀran:
Vi fÄr ett svar om Elasticsearch-tjÀnstens status (i webblÀsaren):

Statussvaret i Insomnia:

Observera Status â Grön, Gul, Röd. Den officiella dokumentationen nĂ€mner följande om statusarna:
âą Grön â Allt Ă€r bra (Kluster helt fungerande)
âą Gul â Alla data Ă€r tillgĂ€ngliga, men vissa repliker i klustret Ă€r Ă€nnu inte tilldelade för deras
âą Röd â Del av data Ă€r otillgĂ€nglig av nĂ„gon anledning (klustret fungerar normalt)
HÀmta tillstÄnd om noder i klustret och deras status (jag har 1 nod):

Alla index (indices) i ES:

Förutom index frĂ„n Docsvision kan det finnas index frĂ„n andra applikationer â heartbeat,
kibana â om du anvĂ€nder dem. NödvĂ€ndiga kan sorteras frĂ„n onödiga. Till exempel,
tar vi bara index dÀr namnet inkluderar rd% i titeln:

Konfiguration av Elasticsearch
HÀmta instÀllningar för Elasticsearch:
Resultatet kommer att vara ganska omfattande, inklusive sökvÀgar till loggar:

Hur man fÄr en lista med index vet vi redan, Docsvision gör detta automatiskt och ger namnet pÄ indexet i formatet:
<ĐžĐŒŃбЎ+ĐČОЎĐĐœĐŽĐ”ĐșŃĐžŃŃĐ”ĐŒĐŸĐčĐаŃŃĐŸŃĐșĐž>
Det gÄr Àven att skapa ett eget oberoende index:
Detta kommer att vara en PUT-förfrÄgan istÀllet för GET:

Resultatet:

den följande förfrÄgan kommer att visa alla index, inklusive de nya (customer):

5. HĂ€mta information om indexerade data
Status för Elasticsearch-index
Efter att den initiala konfigurationen frÄn Docsvision har genomförts bör tjÀnsten vara klar för drift och börja indexera data.
Först och frÀmst kontrollerar vi att indexen fylls och deras storlek överstiger standardmÀssiga 'byte' med den redan kÀnda förfrÄgan:
Resultatet visar: 87 'uppdrag' och 72 'dokument' om vi talar i termer av vÄrt dokumenthanteringssystem:

Efter en tid ser resultaten ut sÄ hÀr (som standard körs indexeringsjobbet var femte minut):

Vi ser att antalet dokument har ökat.
Hur kan man förstÄ att den nödvÀndiga posten Àr indexerad?
⹠Först och frÀmst mÄste vi sÀkerstÀlla att korttypen i Docsvision matchar de angivna instÀllningarna i Elasticsearch.
âą För det andra, vĂ€nta pĂ„ att massan av kortposterna indexeras â det bör ta en viss tid innan data dyker upp i lagret.
⹠För det tredje kan man söka efter posten med CardID. Man kan göra detta med en förfrÄgan:
Om posten finns i lagret kommer vi att se dess 'rÄa' data, om inte, fÄr vi ett svar som ungefÀr sÄ hÀr:

Sökning av posten i Elasticsearch-noden
Hitta dokumentet genom en exakt matchning av fÀltet Description:
Resultatet:

sök dokument som har 'IngÄende' i Description
Resultatet:

Sökning av posten efter innehÄllet i den bifogade filen
resultat:

LÄt oss hitta alla kort av dokumenttyp:
eller alla kort av typen uppdrag:
Genom att anvÀnda konstruktioner och och parametrarna som Elasticsearch returnerar i JSON-format kan man sammanstÀlla en sÄdan förfrÄgan:
Den kommer att visa alla kort av typ uppdrag dÀr anvÀndarna har FirstName = Konstantin och befinner sig i Orël Office.
Förutom LIKE det finns ocksÄ andra dokumenterade parametrar:
unlike, fields, docs, content etc.
Alla dessa Àr beskrivna .
Det Àr allt för idag!
#docsvision #docsvisionECM
Nyttiga lÀnkar:
- Insomnia Rest client
KĂ€lla: habr.com
