Sveiki!
Šodien runāsim par pilnīga teksta meklēšanas dzinēju Elasticsearch (turpmāk ES), ar kuru
darbojas platforma Docsvision 5.5.

1. Uzstādīšana
Aktuālo versiju var lejupielādēt šajā saistē:
Zemāk ir instalētāja ekrānuzņēmums:

2. Darbības pārbaude
Pabeidzot instalāciju, lūdzu, dodieties uz adresi
Jāparādās lapa ar ES stāvokli, zemāk ir piemērs:

Ja lapa neatveras, pārliecinieties, ka serviss Elasticsearch darbojas. Windows gadījumā tas ir
Elasticsearch pakalpojums.

3. Savienojums ar Docsvision
Savienojums ar Elasticsearch tiek iestatīts pilnīga teksta
indeksēšanas pakalpojuma lapā.

Šeit jānorāda:
1. Elasticsearch servera adrese (noteikta instalācijas laikā).
2. Savienojuma virkne uz DBMS.
3. Docsvision adrese (formātā ConnectAddress=)
4. 'Kartīšu' un 'Vadlīniju' cilnēs ir jāiestata tās datos, kurus
vajag indeksēt.
Tāpat jānodrošina, ka kontam, ar kuru darbojas Docsvision
Pilnīga teksta indeksēšanas pakalpojums, ir pieeja Docsvision datu bāzei uz MS SQL.
Pēc savienojuma izveides ir jāpārliecinās, ka MS SQL datu bāzē ir izveidoti uzdevumi ar prefiksu:
„DV:FullText__CardWithFilesPrepareRange”

Pabeidzot iestatījumus, Windows klientā tiks atbloķēta meklēšanas rinda.
4. REST API Elastic
Administrators var iegūt dažādu informāciju par Elasticsearch darbību, izmantojot
nodrošināto REST API.
Nākamajos piemēros mēs izmantosim Insomnia Rest Client.
Vispārējās informācijas iegūšana
Kad pakalpojums ir uzsācis darbu un darbojas (http://localhost:9200/ pārlūkprogrammā), var
izpildīt pieprasījumu:
Saņemsim atbildi par Elasticsearch pakalpojuma stāvokli (pārlūkprogrammā):

Atbilde par stāvokli Insomnia:

Pievērsiet uzmanību Status — Zaļš, Dzeltena, Sarkanā. Oficiālā dokumentācija par statiem saka sekojošo:
• Zaļš — Viss kārtībā (Klasteris pilnībā darbojas)
• Dzeltena — Visi dati ir pieejami, bet daži replikatori klasterī vēl nav asignēti
• Sarkans — Daļa datu nav pieejama jebkādu iemeslu dēļ (klasteris darbojas normāli)
Informācijas iegūšana par mezgliem klasterī un to stāvokli (man ir 1 mezgls):

Visi ES indeksi:

Papildus Docsvision indeksem var būt arī citu lietojumprogrammu indeksi — heartbeat,
kibana — ja jūs tos izmantojat. Vajadzīgās no nevajadzīgām var šķirot. Piemēram,
paņemsim tikai tos indeksus, kuru nosaukumā ir rd%:

Elasticsearch konfigurācija
Elasticsearch iestatījumu iegūšana:
Rezultāts būs diezgan plašs, tostarp ceļi uz žurnāliem:

Kā uzzināt indeksu sarakstu, mēs jau zinām, Docsvision to veic automātiski, piešķirot indeksam vārdu formātā:
<имябд+видИндексируемойКарточки>
Tāpat var izveidot savu neatkarīgu indeksu:
Tikai šis būs nevis GET, bet PUT pieprasījums:

Rezultāts:

nākamais pieprasījums parādīs visus indeksus, tostarp jaunus (customer):

5. Informācijas iegūšana par indeksētajiem datiem
Elasticsearch indeksu stāvoklis
Pēc tam, kad sākotnējā konfigurācija no Docsvision puses ir veikta, pakalpojumam jābūt gatavam darbam un datu indeksēšanas uzsākšanai.
Vispirms pārbaudīsim, vai indeksi tiek piepildīti un to lielums ir lielāks par standarta ‘baitiem’, izmantojot jau pazīstamo pieprasījumu:
rezultātā redzam: indeksēti 87 ‘uzdevumi’ un 72 ‘dokumenti’, runājot mūsu SED terminoloģijā:

Pēc kāda laika rezultāti ir šādi (pēc noklusējuma indekss tiek palaists ik pēc 5 minūtēm):

Redzam, ka dokumentu skaits ir palielinājies.
Kā saprast, ka nepieciešamā karte ir indeksēta?
• Pirmkārt, jāpārliecinās, ka kartes tips Docsvision sakrīt ar Elasticsearch iestatījumos norādītajiem datiem.
• Otrkārt, jāgaida indeksēšana kartu masīvā — kad tas nonāk Docsvision ir jāpaiet kādam laikam līdz datu parādīšanai krātuvē.
• Treškārt, var mēģināt meklēt karti pēc CardID. To var izdarīt ar pieprasījumu:
Ja karte ir krātuvē, mēs redzēsim tās ‘neapstrādātos’ datus, ja nav, redzēsim aptuveni šādu atbildi:

Karte meklēšana Elasticsearch jautājumā
Atrast dokumentu pēc precīzas lauka Description atbilstības:
Rezultāts:

meklēt dokumentu, kurā Description ir frāze ‘Izejošs’
Rezultāts:

Karte meklēšana pēc pievienotā faila satura
rezultāts:

Atrisināsim visus dokumentu tipa kartes:
vai visus uzdevumu veida kartes:
Izmantojot konstrukcijas un un parametrus, kurus Elasticsearch atdod JSON formātā, varam izveidot tādu pieprasījumu:
Tas parādīs visus uzdevuma veida kartes, starp lietotājiem, kuriem FirstName = Konstantīns, un kuri atrodas Orļas ofisā.
Izņemot LIKE ir arī citi dokumentēti parametri:
unlike, fields, docs, content u.t.t.
Visi tie ir aprakstīti .
Uz šodienu viss!
#docsvision #docsvisionECM
Noderīgas saites:
- Insomnia Rest client
Avots: habr.com
