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

1. Instalacja
Aktualną wersję można pobrać pod tym linkiem:
Zrzut ekranu instalatora poniżej:

2. Sprawdzanie funkcjonalności
Po zakończeniu instalacji przejdź pod adres
Powinna wyświetlić się strona ze stanem ES, przykład poniżej:

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

3. Połączenie z Docsvision
Połączenie z Elasticsearch konfiguruje się na stronie usługi pełnotekstowego
indeksowania.

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=)
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”

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:
Otrzymamy odpowiedź na temat stanu usługi Elasticsearch (w przeglądarce):

Odpowiedź o stanie w Insomnia:

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ł):

Wszystkie indeksy (indices) ES:

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:

Konfiguracja Elasticsearch
Uzyskiwanie ustawień Elasticsearch:
Wynik będzie dość obszerny, w tym ścieżki do logów:

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:
Jednak to będzie żądanie nie GET, a PUT:

Wynik:

następujące żądanie pokaże wszystkie indeksy, w tym nowe (customer):

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:
w wyniku widzimy: zindeksowano 87 „zadań” i 72 „dokumenty” jeśli mówić w terminach naszego SED:

Po chwili wyniki są takie (domyślnie indeksowanie zadań uruchamia się co 5 minut):

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:
W przypadku, gdy karta znajduje się w magazynie, zobaczymy jej „surowe” dane, w przeciwnym razie zobaczymy mniej więcej taką odpowiedź:

Wyszukiwanie karty w nodzie Elasticsearch
Znajdź dokument w dokładnym dopasowaniu pola Description:
Wynik:

wyszukiwanie dokumentu, którego Description zawiera ‘Wchodzący’
Wynik:

Wyszukiwanie karty po treści dołączonego pliku
wynik:

Znajdźmy wszystkie karty typu dokument:
lub wszystkie karty rodzaju zadań:
Używając konstrukcji i i parametrów, które zwraca Elasticsearch w formie JSON, można złożyć takie żądanie:
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 .
Na dzisiaj to wszystko!
#docsvision #docsvisionECM
Przydatne linki:
- Klient Rest Insomnia
Źródło: habr.com
