Pozdravljeni!
Danas ćemo razgovarati o motoru punog teksta Elasticsearch (dalje ES), sa kojim
radi platforma Docsvision 5.5.

1. Instalacija
Aktuelnu verziju možete preuzeti putem linka:
Screenshot instalatera ispod:

2. Provera funkcionalnosti
Nakon završetka instalacije, idite na adresu
Trebalo bi da se prikaže stranica sa statusom ES, primer ispod:

Ako se stranica ne otvori, uverite se da je servis Elasticsearch pokrenut. U Windows-u je to
usluga Elasticsearch.

3. Povezivanje sa Docsvision
Povezivanje sa Elasticsearch se podešava na stranici za servis punog teksta
indeksiranja.

Tu je potrebno navesti:
1. Adresa servera Elasticsearch (postavlja se tokom instalacije).
2. String za povezivanje sa DB.
3. Adresa Docsvision (u formatu ConnectAddress=)
4. Na karticama 'Kartice' i 'Referentni podaci' treba podesiti podatke koje
treba indeksirati.
Takođe se mora osigurati da nalog pod kojim je pokrenuta usluga Docsvision
Fulltext Indexing service, ima pristup bazi podataka Docsvision na MS SQL.
Nakon povezivanja, treba da se uverite da su u MS SQL bazi podataka kreirane zadatke sa prefiksom:
«DV:FullText_<IMEBAZEDATKA>_CardWithFilesPrepareRange»

Nakon završetka podešavanja u Windows klijentu biće otključana linija za pretragu.
4. REST API Elastic
Administrator može dobiti različite informacije o radu Elasticsearch-a putem
dostupnog REST API-ja.
U sledećim primerima koristićemo Insomnia Rest Client.
Dobijanje osnovnih informacija
Kada se usluga pokrene i radi (http://localhost:9200/ u pretraživaču), možete
izvršiti zahtev:
Obratićemo pažnju na stanje servisa Elasticsearch (u pretraživaču):

Odgovor o stanju u Insomnia:

Obratite pažnju na Status — Zeleno, Žuto, Crveno. Zvanična dokumentacija govori o statusima sledeće:
• Zeleno — Sve je u redu (Klaster potpuno funkcioniše)
• Žuto — Svi podaci su dostupni, ali neki replikati u klasteru još nisu dodeljeni
• Crveno — Deo podataka nije dostupan iz bilo kojeg razloga (sam klaster funkcioniše normalno)
Dobijanje stanja o nodovima u klasteru i njihovom stanju (imam 1 nod):

Svi indeksi (indices) ES:

Pored indeksa iz Docsvision-a, mogu postojati i indeksi drugih aplikacija — heartbeat,
kibana — ako ih koristite. Potrebne od nepotrebnih možete razvrstati. Na primer,
uzmimo samo indekse čije ime sadrži rd% u nazivu:

Konfiguracija Elasticsearch
Dobijanje podešavanja Elasticsearch:
Rezultat bo precej obsežen, vključno s potmi do dnevnikov:

Kako ugotoviti seznam indeksov, že vemo, da to Docsvision počne samodejno, tako da daje ime indeksu v formatu:
<имябд+видИндексируемойКарточки>
Prav tako lahko ustvarite svoj samostojni indeks:
Samo to ne bo GET, ampak PUT zahteva:

Rezultat:

naslednja zahteva bo pokazala vse indekse, vključno z novimi (customer):

5. Pridobitev informacij o indeksiranih podatkih
Stanje indeksov Elasticsearch
Po temu, ko je bila začetna nastavitev s strani Docsvision opravljena, bi morala biti storitev pripravljena za delo in začetek indeksiranja podatkov.
Najprej preverimo, da se indeksi izpolnjujejo in da je njihov velikost več kot standardni 'bajti' s že znano zahtevo:
v rezultatu vidimo: indeksiranih 87 'nalog' in 72 'dokumentov', če govorimo v izrazih našega SED:

Po določenem času so rezultati taki (privzeto se indeksiranje nalog zažene vsake 5 minut):

Vidimo, da se je število dokumentov povečalo.
Kako razumeti, da je potrebno kartico indeksirati?
• Najprej je treba zagotoviti, da tip kartice v Docsvision ustreza podatkom, navedenim v nastavitvah Elasticsearch.
• Po drugi strani pa je treba počakati na indeksiranje niza kartic — ob prenosu v Docsvision mora miniti nekaj časa, preden se podatki pojavi v skladišču.
• Tretjič, lahko iščete kartico po CardID. To lahko storite z zahtevo:
Če je kartica v skladišču, bomo videli njene 'surove' podatke, v nasprotnem primeru bomo videli tak odgovor:

Iskanje kartice v vozlišču Elasticsearch
Najti dokument po natančnem ujemanju polja Description:
Rezultat:

iskanje dokumenta, ki v Description vsebuje pojavljanje 'Vhodni'
Rezultat:

Iskanje kartice po vsebini priložene datoteke
rezultat:

Najti vse kartice tipa dokument:
ali vse kartice vrste nalog:
Z uporabo konstrukcij in in parametrov, ki jih Elasticsearch vrača v obliki JSON lahko sestavite takšne zahteve:
To bo prikazalo vse kartice tipa nalog, med uporabniki, katerih FirstName = Konstantin, in ki se nahajajo v Orlovem Uradu.
Poleg LIKE obstajajo tudi drugi dokumentirani parametri:
unlike, fields, docs, content itd.
Vse so opisane .
Za danes je to vse!
#docsvision #docsvisionECM
izvorna koda
- Insomnia Rest client
Izvor: habr.com
