Wprowadzenie do Elasticsearch krok po kroku

Witaj!
Dziś porozmawiamy o silniku pełnotekstowego wyszukiwania Elasticsearch (dalej ES), z którym
pracuje platforma Docsvision 5.5.

Wprowadzenie do Elasticsearch krok po kroku

1. Instalacja

Aktualną wersję można pobrać pod tym linkiem: www.elastic.co/downloads/elasticsearch
Zrzut ekranu instalatora poniżej:
Wprowadzenie do Elasticsearch krok po kroku

2. Sprawdzanie funkcjonalności

Po zakończeniu instalacji przejdź pod adres
http://localhost:9200/
Powinna wyświetlić się strona ze stanem ES, przykład poniżej:
Wprowadzenie do Elasticsearch krok po kroku

Jeśli strona się nie otworzyła, upewnij się, że usługa Elasticsearch jest uruchomiona. W Windows jest to
usługa Elasticsearch.
Wprowadzenie do Elasticsearch krok po kroku

3. Połączenie z Docsvision

Połączenie z Elasticsearch konfiguruje się na stronie usługi pełnotekstowego
indeksowania.
Wprowadzenie do Elasticsearch krok po kroku

Tutaj należy podać:
1. Adres serwera Elasticsearch (ustawiany podczas instalacji).
2. Łańcuch połączenia z bazą danych.
3. Adres Docsvision (w formacie ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx
)
4. Na zakładce „Karty” i „Słowniki” należy skonfigurować te dane, które
należy indeksować.
Należy również upewnić się, że konto, pod którym działa usługa Docsvision
Fulltext Indexing service, ma dostęp do bazy danych Docsvision na MS SQL.
Po połączeniu należy upewnić się, że w bazie danych MS SQL utworzyły się zadania z prefiksem:
„DV:FullText__CardWithFilesPrepareRange”
Wprowadzenie do Elasticsearch krok po kroku

Po zakończeniu ustawień w kliencie Windows zostanie odblokowana linia wyszukiwania.

4. REST API Elastic

Administrator może uzyskać różne informacje o działaniu Elasticsearch za pomocą
dostarczanego REST API.
W następujących przykładach będziemy korzystać z Insomnia Rest Client.

Uzyskiwanie ogólnych informacji

Gdy tylko usługa się uruchomi i zacznie działać (http://localhost:9200/ w przeglądarce), można
wykonać żądanie:
http://localhost:9200/_cat/health?v

Otrzymamy odpowiedź na temat stanu usługi Elasticsearch (w przeglądarce):
Wprowadzenie do Elasticsearch krok po kroku
Odpowiedź o stanie w Insomnia:
Wprowadzenie do Elasticsearch krok po kroku
Zwróćmy uwagę na Status — Green, Yellow, Red. Oficjalna dokumentacja mówi o statusach następująco:
• Green — Wszystko w porządku (Klaster w pełni funkcjonuje)
• Yellow — Wszystkie dane dostępne, ale niektóre repliki w klastrze wciąż nie są przydzielone
• Red — Część danych niedostępna z jakiegokolwiek powodu (sam klaster działa prawidłowo)
Uzyskiwanie stanów węzłów w klastrze i ich stan (mam 1 węzeł):
http://localhost:9200/_cat/nodes?v
Wprowadzenie do Elasticsearch krok po kroku

Wszystkie indeksy (indices) ES:
http://localhost:9200/_cat/indices?v
Wprowadzenie do Elasticsearch krok po kroku

Oprócz indeksów od Docsvision, mogą być także indeksy innych aplikacji — heartbeat,
kibana — jeśli ich używasz. Potrzebne od niepotrzebnych można posortować. Na przykład,
weźmiemy tylko indeksy, w których nazwie występuje rd% w tytule:
http://localhost:9200/_cat/indices/*card*?v&s=index
Wprowadzenie do Elasticsearch krok po kroku

Konfiguracja Elasticsearch

Uzyskiwanie ustawień Elasticsearch:
http://localhost:9200/_nodes
Wynik będzie dość obszerny, w tym ścieżki do logów:
Wprowadzenie do Elasticsearch krok po kroku

Jak poznać listę indeksów, już wiemy, że Docsvision robi to automatycznie, nadając nazwę indeksowi w formacie:
<имябд+видИндексируемойКарточки>
Można również stworzyć własny niezależny indeks:
http://localhost:9200/customer?pretty
Jednak to będzie żądanie nie GET, a PUT:
Wprowadzenie do Elasticsearch krok po kroku

Wynik:
Wprowadzenie do Elasticsearch krok po kroku

następujące żądanie pokaże wszystkie indeksy, w tym nowe (customer):
http://localhost:9200/_cat/indices?v
Wprowadzenie do Elasticsearch krok po kroku

5. Uzyskanie informacji o zindeksowanych danych

Stan indeksów Elasticsearch

Po dokonaniu początkowej konfiguracji ze strony Docsvision, usługa powinna być gotowa do pracy i rozpoczęcia indeksowania danych.
Najpierw sprawdźmy, czy indeksy się zapełniają i ich rozmiar jest większy niż standardowe „bajty” znanym nam żądaniem:
http://localhost:9200/_cat/indices?v
w wyniku widzimy: zindeksowano 87 „zadań” i 72 „dokumenty” jeśli mówić w terminach naszego SED:
Wprowadzenie do Elasticsearch krok po kroku

Po chwili wyniki są takie (domyślnie indeksowanie zadań uruchamia się co 5 minut):
Wprowadzenie do Elasticsearch krok po kroku

Widzimy, że liczba dokumentów wzrosła.

Jak zrozumieć, że wymagana karta została zindeksowana?

• Po pierwsze, należy upewnić się, że typ karty w Docsvision odpowiada danym podanym w ustawieniach Elasticsearch.
• Po drugie, należy poczekać na indeksację zestawu kart — po dotarciu do Docsvision, musi minąć pewien czas, zanim dane pojawią się w magazynie.
• Po trzecie, można poszukać karty po CardID. Można to zrobić za pomocą żądania:

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

W przypadku, gdy karta znajduje się w magazynie, zobaczymy jej „surowe” dane, w przeciwnym razie zobaczymy mniej więcej taką odpowiedź:
Wprowadzenie do Elasticsearch krok po kroku

Wyszukiwanie karty w nodzie Elasticsearch

Znajdź dokument w dokładnym dopasowaniu pola Description:
http://localhost:9200/_search?q=description: wychodzący tv1
Wynik:
Wprowadzenie do Elasticsearch krok po kroku

wyszukiwanie dokumentu, którego Description zawiera ‘Wchodzący’
http://localhost:9200/_search?q=description like Wchodzący
Wynik:
Wprowadzenie do Elasticsearch krok po kroku

Wyszukiwanie karty po treści dołączonego pliku
http://localhost:9200/_search?q=content like ‘AGILE’
wynik:
Wprowadzenie do Elasticsearch krok po kroku

Znajdźmy wszystkie karty typu dokument:
http://localhost:9200/_search?q=_type:CardDocument

lub wszystkie karty rodzaju zadań:
http://localhost:9200/_search?q=_type:CardTask

Używając konstrukcji i i parametrów, które zwraca Elasticsearch w formie JSON, można złożyć takie żądanie:
http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Orzeł biuro and Employee_FirstName:Konstantin

Pokaże wszystkie karty typu zadanie, wśród użytkowników, których FirstName = Konstantin, i znajdujących się w Orzeł Biuro.
Oprócz LIKE są też inne udokumentowane parametry:
unlike, fields, docs, content itd.
Wszystkie są opisane tutaj.

Na dzisiaj to wszystko!

#docsvision #docsvisionECM

Przydatne linki:

  1. Klient Rest Insomnia 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

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster