Iepazīšanās ar Elasticsearch soli pa solim

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

Iepazīšanās ar Elasticsearch soli pa solim

1. Uzstādīšana

Aktuālo versiju var lejupielādēt šajā saistē: www.elastic.co/downloads/elasticsearch
Zemāk ir instalētāja ekrānuzņēmums:
Iepazīšanās ar Elasticsearch soli pa solim

2. Darbības pārbaude

Pabeidzot instalāciju, lūdzu, dodieties uz adresi
http://localhost:9200/
Jāparādās lapa ar ES stāvokli, zemāk ir piemērs:
Iepazīšanās ar Elasticsearch soli pa solim

Ja lapa neatveras, pārliecinieties, ka serviss Elasticsearch darbojas. Windows gadījumā tas ir
Elasticsearch pakalpojums.
Iepazīšanās ar Elasticsearch soli pa solim

3. Savienojums ar Docsvision

Savienojums ar Elasticsearch tiek iestatīts pilnīga teksta
indeksēšanas pakalpojuma lapā.
Iepazīšanās ar Elasticsearch soli pa solim

Šeit jānorāda:
1. Elasticsearch servera adrese (noteikta instalācijas laikā).
2. Savienojuma virkne uz DBMS.
3. Docsvision adrese (formātā ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx
)
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”
Iepazīšanās ar Elasticsearch soli pa solim

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:
http://localhost:9200/_cat/health?v

Saņemsim atbildi par Elasticsearch pakalpojuma stāvokli (pārlūkprogrammā):
Iepazīšanās ar Elasticsearch soli pa solim
Atbilde par stāvokli Insomnia:
Iepazīšanās ar Elasticsearch soli pa solim
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):
http://localhost:9200/_cat/nodes?v
Iepazīšanās ar Elasticsearch soli pa solim

Visi ES indeksi:
http://localhost:9200/_cat/indices?v
Iepazīšanās ar Elasticsearch soli pa solim

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%:
http://localhost:9200/_cat/indices/*card*?v&s=index
Iepazīšanās ar Elasticsearch soli pa solim

Elasticsearch konfigurācija

Elasticsearch iestatījumu iegūšana:
http://localhost:9200/_nodes
Rezultāts būs diezgan plašs, tostarp ceļi uz žurnāliem:
Iepazīšanās ar Elasticsearch soli pa solim

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:
http://localhost:9200/customer?pretty
Tikai šis būs nevis GET, bet PUT pieprasījums:
Iepazīšanās ar Elasticsearch soli pa solim

Rezultāts:
Iepazīšanās ar Elasticsearch soli pa solim

nākamais pieprasījums parādīs visus indeksus, tostarp jaunus (customer):
http://localhost:9200/_cat/indices?v
Iepazīšanās ar Elasticsearch soli pa solim

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:
http://localhost:9200/_cat/indices?v
rezultātā redzam: indeksēti 87 ‘uzdevumi’ un 72 ‘dokumenti’, runājot mūsu SED terminoloģijā:
Iepazīšanās ar Elasticsearch soli pa solim

Pēc kāda laika rezultāti ir šādi (pēc noklusējuma indekss tiek palaists ik pēc 5 minūtēm):
Iepazīšanās ar Elasticsearch soli pa solim

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:

http://localhost:9200/_search?q=_id=2116C498-9D34-44C9-99B0-CE89465637C9

Ja karte ir krātuvē, mēs redzēsim tās ‘neapstrādātos’ datus, ja nav, redzēsim aptuveni šādu atbildi:
Iepazīšanās ar Elasticsearch soli pa solim

Karte meklēšana Elasticsearch jautājumā

Atrast dokumentu pēc precīzas lauka Description atbilstības:
http://localhost:9200/_search?q=description: Izejošs tv1
Rezultāts:
Iepazīšanās ar Elasticsearch soli pa solim

meklēt dokumentu, kurā Description ir frāze ‘Izejošs’
http://localhost:9200/_search?q=description like Izejošs
Rezultāts:
Iepazīšanās ar Elasticsearch soli pa solim

Karte meklēšana pēc pievienotā faila satura
http://localhost:9200/_search?q=content like ‘AGILE’
rezultāts:
Iepazīšanās ar Elasticsearch soli pa solim

Atrisināsim visus dokumentu tipa kartes:
http://localhost:9200/_search?q=_type:CardDocument

vai visus uzdevumu veida kartes:
http://localhost:9200/_search?q=_type:CardTask

Izmantojot konstrukcijas un un parametrus, kurus Elasticsearch atdod JSON formātā, varam izveidot tādu pieprasījumu:
http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Orļas ofiss and Employee_FirstName: Konstantīns

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 šeit.

Uz šodienu viss!

#docsvision #docsvisionECM

Noderīgas saites:

  1. Insomnia Rest client https://insomnia.rest/download/#windows
  2. https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html
  3. https://www.elastic.co/guide/en/elasticsearch/reference/1.4/_exploring_your_data.html
  4. https://stackoverflow.com/questions/50278255/elasticsearch-backup-on-windows-and-restore-on-linux
  5. https://z0z0.me/how-to-create-snapshot-and-restore-snapshot-with-elasticsearch/
  6. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters
  7. http://qaru.site/questions/15663281/elasticsearch-backup-on-windows-and-restore-on-linux

Avots: habr.com

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster