Seznanitev z Elasticsearch korak za korakom

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

Seznanitev z Elasticsearch korak za korakom

1. Instalacija

Aktuelnu verziju možete preuzeti putem linka: www.elastic.co/downloads/elasticsearch
Screenshot instalatera ispod:
Seznanitev z Elasticsearch korak za korakom

2. Provera funkcionalnosti

Nakon završetka instalacije, idite na adresu
http://localhost:9200/
Trebalo bi da se prikaže stranica sa statusom ES, primer ispod:
Seznanitev z Elasticsearch korak za korakom

Ako se stranica ne otvori, uverite se da je servis Elasticsearch pokrenut. U Windows-u je to
usluga Elasticsearch.
Seznanitev z Elasticsearch korak za korakom

3. Povezivanje sa Docsvision

Povezivanje sa Elasticsearch se podešava na stranici za servis punog teksta
indeksiranja.
Seznanitev z Elasticsearch korak za korakom

Tu je potrebno navesti:
1. Adresa servera Elasticsearch (postavlja se tokom instalacije).
2. String za povezivanje sa DB.
3. Adresa Docsvision (u formatu ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx
)
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»
Seznanitev z Elasticsearch korak za korakom

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

Obratićemo pažnju na stanje servisa Elasticsearch (u pretraživaču):
Seznanitev z Elasticsearch korak za korakom
Odgovor o stanju u Insomnia:
Seznanitev z Elasticsearch korak za korakom
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):
http://localhost:9200/_cat/nodes?v
Seznanitev z Elasticsearch korak za korakom

Svi indeksi (indices) ES:
http://localhost:9200/_cat/indices?v
Seznanitev z Elasticsearch korak za korakom

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:
http://localhost:9200/_cat/indices/*card*?v&s=index
Seznanitev z Elasticsearch korak za korakom

Konfiguracija Elasticsearch

Dobijanje podešavanja Elasticsearch:
http://localhost:9200/_nodes
Rezultat bo precej obsežen, vključno s potmi do dnevnikov:
Seznanitev z Elasticsearch korak za korakom

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:
http://localhost:9200/customer?pretty
Samo to ne bo GET, ampak PUT zahteva:
Seznanitev z Elasticsearch korak za korakom

Rezultat:
Seznanitev z Elasticsearch korak za korakom

naslednja zahteva bo pokazala vse indekse, vključno z novimi (customer):
http://localhost:9200/_cat/indices?v
Seznanitev z Elasticsearch korak za korakom

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:
http://localhost:9200/_cat/indices?v
v rezultatu vidimo: indeksiranih 87 'nalog' in 72 'dokumentov', če govorimo v izrazih našega SED:
Seznanitev z Elasticsearch korak za korakom

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

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:

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

Če je kartica v skladišču, bomo videli njene 'surove' podatke, v nasprotnem primeru bomo videli tak odgovor:
Seznanitev z Elasticsearch korak za korakom

Iskanje kartice v vozlišču Elasticsearch

Najti dokument po natančnem ujemanju polja Description:
http://localhost:9200/_search?q=description: Izhodni tv1
Rezultat:
Seznanitev z Elasticsearch korak za korakom

iskanje dokumenta, ki v Description vsebuje pojavljanje 'Vhodni'
http://localhost:9200/_search?q=description like Vhodni
Rezultat:
Seznanitev z Elasticsearch korak za korakom

Iskanje kartice po vsebini priložene datoteke
http://localhost:9200/_search?q=content like 'AGILE'
rezultat:
Seznanitev z Elasticsearch korak za korakom

Najti vse kartice tipa dokument:
http://localhost:9200/_search?q=_type:CardDocument

ali vse kartice vrste nalog:
http://localhost:9200/_search?q=_type:CardTask

Z uporabo konstrukcij in in parametrov, ki jih Elasticsearch vrača v obliki JSON lahko sestavite takšne zahteve:
http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Orlov urad and Employee_FirstName:Konstantin

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 tukaj.

Za danes je to vse!

#docsvision #docsvisionECM

izvorna koda

  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

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster