Zoznámenie s Elasticsearch krok za krokom

Dobrý deň!
Dnes budeme hovoriť o engíne pre fulltextové vyhľadávanie Elasticsearch (ďalej ES), ktorý
funguje s platformou Docsvision 5.5.

Zoznámenie s Elasticsearch krok za krokom

1. Inštalácia

Aktuálnu verziu si môžete stiahnuť na odkaze: www.elastic.co/downloads/elasticsearch
Screenshot inštalátora je nižšie:
Zoznámenie s Elasticsearch krok za krokom

2. Kontrola funkčnosti

Po dokončení inštalácie prejdite na adresu
http://localhost:9200/
Mala by sa zobraziť stránka so stavom ES, príklad nižšie:
Zoznámenie s Elasticsearch krok za krokom

Ak sa stránka neotvorila, uistite sa, že služba Elasticsearch je spustená. V systéme Windows je to
služba Elasticsearch.
Zoznámenie s Elasticsearch krok za krokom

3. Pripojenie k Docsvision

Pripojenie k Elasticsearch sa nastavuje na stránke služby pre fulltextové
indexovanie.
Zoznámenie s Elasticsearch krok za krokom

Tu je potrebné uviesť:
1. Adresa servera Elasticsearch (určuje sa pri inštalácii).
2. Pripojovacia reťazec k DBMS.
3. Adresa Docsvision (vo formáte ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx
)
4. Na karte „Karty“ a „Referencie“ je potrebné nastaviť údaje, ktoré
je potrebné indexovať.
Tiež je potrebné uistiť sa, že účet, pod ktorým je spustená služba Docsvision
Fulltext Indexing service, má prístup k DB Docsvision na MS SQL.
Po pripojení je potrebné uistiť sa, že v DB MS SQL sa vytvorili úlohy s prefixom:
„DV:FullText_<NÁZOVDB>_CardWithFilesPrepareRange“
Zoznámenie s Elasticsearch krok za krokom

Po dokončení nastavení bude v klientskej aplikácii Windows odblokované vyhľadávacie pole.

4. REST API Elastic

Administrátor môže získať rôzne informácie o fungovaní Elasticsearch pomocou
poskytovaného REST API.
V nasledujúcich príkladoch budeme používať Insomnia Rest Client.

Získanie všeobecných informácií

Akonáhle je služba spustená a funguje (http://localhost:9200/ v prehliadači), môžete
vykonať dotaz:
http://localhost:9200/_cat/health?v

Získame odpoveď o stave služby Elasticsearch (v prehliadači):
Zoznámenie s Elasticsearch krok za krokom
Odpoveď o stave v Insomnia:
Zoznámenie s Elasticsearch krok za krokom
Všimnime si Status — Zelený, Žltý, Červený. Oficiálna dokumentácia hovorí o statusoch nasledovné:
• Zelený — Všetko v poriadku (Klaster plne funkčný)
• Žltý — Všetky údaje sú dostupné, ale niektoré repliky v klastri zatiaľ neboli pridelené pre ich
• Červený — Časť údajov nie je dostupná z akéhokoľvek dôvodu (samotný klaster funguje normálne)
Získanie stavov uzlov v klastri a ich stav (mám 1 uzol):
http://localhost:9200/_cat/nodes?v
Zoznámenie s Elasticsearch krok za krokom

Všetky indexy (indices) ES:
http://localhost:9200/_cat/indices?v
Zoznámenie s Elasticsearch krok za krokom

Okrem indexov od Docsvision môžu byť aj indexy iných aplikácií — heartbeat,
kibana — ak ich používate. Potrebné od nepotrebných môžeme zoradiť. Napríklad,
vezmeme iba indexy, ktorých názov obsahuje rd% v názve:
http://localhost:9200/_cat/indices/*card*?v&s=index
Zoznámenie s Elasticsearch krok za krokom

Konfigurácia Elasticsearch

Získanie nastavení Elasticsearch:
http://localhost:9200/_nodes
Výsledok bude pomerne rozsiahly, vrátane ciest k logom:
Zoznámenie s Elasticsearch krok za krokom

Ako zistiť zoznam indexov, už vieme, Docsvision to robí automaticky, pričom priradzuje meno indexu vo formáte:
<имябд+видИндексируемойКарточки>
Tiež je možné vytvoriť vlastný nezávislý index:
http://localhost:9200/customer?pretty
Avšak tento bude mať požiadavku PUT, nie GET:
Zoznámenie s Elasticsearch krok za krokom

Výsledok:
Zoznámenie s Elasticsearch krok za krokom

nasledujúci požiadavok zobrazí všetky indexy, vrátane nových (customer):
http://localhost:9200/_cat/indices?v
Zoznámenie s Elasticsearch krok za krokom

5. Získanie informácií o indexovaných údajoch

Stav indexov Elasticsearch

Potom, čo bola prvotná nastavenia zo strany Docsvision prevedená, služba by mala byť pripravená na prácu a začatie indexovania údajov.
Najprv skontrolujme, či sa indexy napĺňajú a ich veľkosť je väčšia než štandardných „bajtov“ už známych nám požiadavkou:
http://localhost:9200/_cat/indices?v
v dôsledku toho vidíme: indexovaných 87 „úloh“ a 72 „dokumentov“, ak hovoríme v pojmoch našej SED:
Zoznámenie s Elasticsearch krok za krokom

Po chvíli sú výsledky takéto (predvolene sa job indexovania spúšťa každých 5 minút):
Zoznámenie s Elasticsearch krok za krokom

Vidíme, že počet dokumentov sa zvýšil.

Ako zistiť, či je potrebná karta indexovaná?

• Po prvé, treba sa uistiť, že typ karty v Docsvision zodpovedá údajom uvedeným v nastaveniach Elasticsearch.
• Po druhé, počkať na indexáciu skupiny kariet — pri prenose do Docsvision by malo prebehnúť nejaké časové obdobie predtým, než sa údaje objavia v úložisku.
• Po tretie, môžeme hľadať kartu podľa CardID. Môžeme to spraviť požiadavkou:

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

V prípade, že karta je v úložisku, uvidíme jej „surové“ údaje, ak nie je, uvidíme zhruba takúto odpoveď:
Zoznámenie s Elasticsearch krok za krokom

Vyhľadanie karty v nódach Elasticsearch

Nájsť dokument podľa presnej zhody poľa Description:
http://localhost:9200/_search?q=description: Odchádzajúci tv1
Výsledok:
Zoznámenie s Elasticsearch krok za krokom

vyhľadanie dokumentu, ktorý má v Description výskyt ‘Prichádzajúci’
http://localhost:9200/_search?q=description like Prichádzajúci
Výsledok:
Zoznámenie s Elasticsearch krok za krokom

Vyhľadanie karty podľa obsahu priloženého súboru
http://localhost:9200/_search?q=content like ‘AGILE’
výsledok:
Zoznámenie s Elasticsearch krok za krokom

Nájdeme všetky karty typu dokument:
http://localhost:9200/_search?q=_type:CardDocument

alebo všetky karty typu úlohy:
http://localhost:9200/_search?q=_type:CardTask

Použitím konštrukcií a a parametrov, ktoré poskytuje Elasticsearch vo forme JSON, môžeme zostaviť takúto požiadavku:
http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Orlov ofic and Employee_FirstName:Konstantin

Zobrazí všetky karty typu úlohy, medzi používateľmi, ktorých FirstName = Konstantin a nachádzajúcich sa v Orlov Office.
Okrem LIKE existujú aj ďalšie zdokumentované parametre:
unlike, fields, docs, content atď.
Všetky sú popísané tu.

Na dnes je to všetko!

#docsvision #docsvisionECM

Užitočné odkazy:

  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

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster