Seznámení s Elasticsearch krok za krokem

Dobrý den!
Dnes budeme mluvit o vyhledávacím enginu Elasticsearch (dále ES), se kterým
pracuje platforma Docsvision 5.5.

Seznámení s Elasticsearch krok za krokem

1. Instalace

Aktuální verzi lze stáhnout na následujícím odkazu: www.elastic.co/downloads/elasticsearch
Screenshot instalátoru níže:
Seznámení s Elasticsearch krok za krokem

2. Kontrola funkčnosti

Po dokončení instalace přejděte na adresu
http://localhost:9200/
Měla by se zobrazit stránka se stavem ES, příklad níže:
Seznámení s Elasticsearch krok za krokem

Pokud se stránka neotevřela, ujistěte se, že služba Elasticsearch je spuštěna. Ve Windows je to
služba Elasticsearch.
Seznámení s Elasticsearch krok za krokem

3. Připojení k Docsvision

Připojení k Elasticsearch se nastavuje na stránce služby plnotextového
indexování.
Seznámení s Elasticsearch krok za krokem

Je třeba zadat:
1. Adresa serveru Elasticsearch (nastavena při instalaci).
2. Řetězec připojení k databázi.
3. Adresa Docsvision (ve formátu ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx
)
4. Na záložce «Karty» a «Adresáře» je nutné nastavit data, která
se mají indexovat.
Je také nutné zajistit, aby účet, pod kterým běží služba Docsvision
Fulltext Indexing service, měl přístup k databázi Docsvision na MS SQL.
Po připojení se ujistěte, že v databázi MS SQL byla vytvořena úloha s prefixem:
«DV:FullText__CardWithFilesPrepareRange»
Seznámení s Elasticsearch krok za krokem

Po dokončení nastavení se v klientovi Windows odblokuje vyhledávací řádek.

4. REST API Elastic

Administrátor může získat různé informace o fungování Elasticsearch pomocí
poskytovaného REST API.
V následujících příkladech budeme používat klienta Insomnia Rest Client.

Získání základních informací

Jakmile služba spustila a začala fungovat (http://localhost:9200/ v prohlížeči), můžete
provést dotaz:
http://localhost:9200/_cat/health?v

Získáme odpověď o stavu služby Elasticsearch (v prohlížeči):
Seznámení s Elasticsearch krok za krokem
Odpověď o stavu v Insomnia:
Seznámení s Elasticsearch krok za krokem
Všimněte si Statusu — Zelený, Žlutý, Červený. Oficiální dokumentace říká o statusech toto:
• Zelený — Všechno je v pořádku (Kluster je plně funkční)
• Žlutý — Všechna data jsou dostupná, ale některé repliky v klastru zatím nejsou přiděleny pro ně
• Červený — Část dat není dostupná z jakéhokoli důvodu (kluster funguje normálně)
Získání stavů o uzlech v klastru a jejich stav (mám 1 uzel):
http://localhost:9200/_cat/nodes?v
Seznámení s Elasticsearch krok za krokem

Všechny indexy (indices) ES:
http://localhost:9200/_cat/indices?v
Seznámení s Elasticsearch krok za krokem

Kromě indexů od Docsvision mohou být i indexy jiných aplikací — heartbeat,
kibana — pokud je používáte. Potřebné od zbytečných lze třídit. Například
vezmeme pouze indexy, v jejichž názvu je rd%:
http://localhost:9200/_cat/indices/*card*?v&s=index
Seznámení s Elasticsearch krok za krokem

Konfigurace Elasticsearch

Získání nastavení Elasticsearch:
http://localhost:9200/_nodes
Výsledek bude poměrně rozsáhlý, včetně cest k logům:
Seznámení s Elasticsearch krok za krokem

Jak se dozvědět seznam indexů, už víme, že Docsvision to dělá automaticky, když pojmenuje index ve formátu:
<имябд+видИндексируемойКарточки>
Lze také vytvořit vlastní nezávislý index:
http://localhost:9200/customer?pretty
Jen to nebude GET, ale PUT požadavek:
Seznámení s Elasticsearch krok za krokem

Result:
Seznámení s Elasticsearch krok za krokem

následující požadavek zobrazí všechny indexy, včetně nových (customer):
http://localhost:9200/_cat/indices?v
Seznámení s Elasticsearch krok za krokem

5. Získání informací o indexovaných datech

Stav indexů Elasticsearch

Poté, co byla provedena počáteční nastavení ze strany Docsvision, by měla být služba připravena k práci a zahájení indexování dat.
Nejprve zkontrolujme, že se indexy plní a jejich velikost je větší než standardní "byty" již známým dotazem:
http://localhost:9200/_cat/indices?v
v důsledku vidíme: bylo indexováno 87 "úkolů" a 72 "dokumentů" pokud mluvíme v termínech našeho ISD:
Seznámení s Elasticsearch krok za krokem

Po nějakém čase, výsledky jsou takové (ve výchozím nastavení se úloha indexování spouští každých 5 minut):
Seznámení s Elasticsearch krok za krokem

Vidíme, že počet dokumentů se zvýšil.

Jak pochopit, že požadovaná karta byla indexována?

• Za prvé, je třeba se ujistit, že typ karty v Docsvision odpovídá údajům uvedeným v nastavení Elasticsearch.
• Za druhé, počkat na indexaci dávky karet — při vstupu do Docsvision by mělo uplynout nějaké časové období před zobrazením údajů ve skladu.
• Za třetí, můžete hledat kartu podle CardID. To lze provést požadavkem:

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

V případě, že karta je ve skladu, uvidíme její "syrová" data, pokud ne, uvidíme přibližně takovou odpověď:
Seznámení s Elasticsearch krok za krokem

Hledání karty v uzlu Elasticsearch

Najít dokument podle přesné shody pole Description:
http://localhost:9200/_search?q=description: Odchozí tv1
Result:
Seznámení s Elasticsearch krok za krokem

hledání dokumentu, který má v Description výskyt 'Příchozí'
http://localhost:9200/_search?q=description like Příchozí
Result:
Seznámení s Elasticsearch krok za krokem

Hledání karty podle obsahu přiloženého souboru
http://localhost:9200/_search?q=content like 'AGILE'
výsledek:
Seznámení s Elasticsearch krok za krokem

Najdeme všechny karty typu dokument:
http://localhost:9200/_search?q=_type:CardDocument

nebo všechny karty typu úkol:
http://localhost:9200/_search?q=_type:CardTask

Použitím konstrukcí and a parametrů, které Elasticsearch vrací ve formátu JSON, lze sestavit takový požadavek:
http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Orël ofic and Employee_FirstName:Konstantin

Ukáže všechny karty typu úkol, mezi uživateli, jejichž FirstName = Konstantin, a nacházející se v Orël Ofisu.
Kromě LIKE existují i další zdokumentované parametry:
unlike, fields, docs, content atd.
Všechny jsou popsány tady.

Tímto končíme!

#docsvision #docsvisionECM

Užiteč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

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster