Пасля завяршэння ўстаноўкі перайдзіце па адрасе http://localhost:9200/
Павінна адлюстравацца старонка са станам ES, прыклад ніжэй:
Калі старонка не адчынілася, пераканайцеся, што сэрвіс Elasticsearch запушчаны. У Windows гэта
служба Elasticsearch.
3. Падключэнне да Docsvision
Падключэнне да Elasticsearch наладжваецца на старонцы сэрвісу паўнатэкставага
індэксавання.
Тут трэба ўказаць:
1. Адрас сервера Elasticsearch (задаецца пры ўстаноўцы).
2. Радок падключэння да СКБД.
3. Адрас Docsvision (у фармаце ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx)
4. На ўкладцы «Карткі» і «Даведнікі» неабходна наладзіць тыя дадзеныя, якія
трэба індэксаваць.
Таксама трэба пераканацца, што ўліковы запіс, пад якім запушчана служба Docsvision
Fulltext Indexing service мае доступ да БД Docsvision на MS SQL.
Пасля падлучэння трэба пераканаецца, што ў БД MS SQL стварыліся заданні з прэфіксам:
"DV:FullText_<ІМЯБД>_CardWithFilesPrepareRange"
Пасля завяршэння налад у Windows-кліенце будзе разблакіраваны радок пошуку.
4. REST API Elastic
Адміністратар можа атрымаць розную інфармацыю аб працы Elasticsearch з дапамогай
які прадстаўляецца REST API.
У наступных прыкладах мы будзем выкарыстоўваць Insomnia Rest Client.
Атрыманне агульнай інфармацыі
Як толькі служба запусцілася і зарабіла (http://localhost:9200/ у браўзэры), можна
выканаць запыт: http://localhost:9200/_cat/health?v
Атрымаем адказ аб стане службы Elasticsearch (у браўзэры):
Адказ аб стане ў Insomnia:
Зварачальны ўвага на Status - Green, Yellow, Red. Афіцыйная дакументацыя гаворыць аб статусах наступнае:
• Green - Усё добра (Кластар цалкам працаздольны)
• Yellow - Усе дадзеныя даступныя, але некаторыя рэплікі ў кластары пакуль што не выдзелены для іх
• Red - Частка дадзеных недаступная па любой прычыне (сам кластар функцыянуе нармальна)
Атрыманне станаў пра ноды ў кластары і іх стан (у мяне 1 нода): http://localhost:9200/_cat/nodes?v
Усе індэксы (indices) ES: http://localhost:9200/_cat/indices?v
Акрамя індэксаў ад Docsvision, могуць быць і індэксы іншых прыкладанняў - heartbeat,
kibana - калі вы іх карыстаецеся. Патрэбныя ад непатрэбных можна адсартаваць. Напрыклад,
возьмем толькі індэксы, у імя якіх ёсць %card% у назве: http://localhost:9200/_cat/indices/*card*?v&s=index
Канфігурацыя Elasticsearch
Атрыманне налад Elasticsearch: http://localhost:9200/_nodes
Вынік будзе даволі шырокі, у тым ліку шляхі да логаў:
Як даведацца спіс індэксаў, мы ўжо ведаем, Docsvision робіць гэта аўтаматычна, даючы імя індэксу ў фармаце:
<імябд+відІндэксаванайКарткі>
Таксама можна стварыць уласны незалежны індэкс: http://localhost:9200/customer?pretty
Толькі гэта будзе не GET, а PUT запыт:
Вынік:
наступны запыт пакажа ўсе індэксы, у тым ліку і новыя (customer): http://localhost:9200/_cat/indices?v
5. Атрыманне інфармацыі аб індэксаваць дадзеных
Стан індэксаў Elasticsearch
Пасля таго як першапачатковая наладкі з боку Docsvision праведзена, служба павінна быць гатова да працы і пачатку індэксавання дадзеных.
Першым чынам праверым, што азначнікі запаўняюцца і іх памер больш стандартных "байтаў" ужо знаёмым нам запытам: http://localhost:9200/_cat/indices?v
у выніку бачым: праіндэксавана 87 "заданняў" і 72 "дакументы" калі казаць у тэрмінах нашай СЭД:
Праз некаторы час вынікі такія (па змаўчанні job індэксавання запускаецца праз кожныя 5 хвілін):
Бачым, што колькасць дакументаў павялічылася.
Як зразумець, што патрэбная картка праіндэксаваная?
• Па-першае, трэба пераканацца, што тып карткі ў Docsvision супадае з паказанымі ў наладах Elascticsearch дадзенымі.
• Па-другое, дачакацца індэксацыі масіва картак - пры трапленні ў Docsvision павінна прайсці некаторы час да з'яўлення дадзеных у сховішча.
• Па-трэцяе, можна пашукаць картку па CardID. Зрабіць гэта можна запытам:
Калі картка ёсць у сховішчы, мы ўбачым яе «волкія» дадзеныя, калі не, убачым прыкладна такі адказ:
Пошук карткі ў нодзе Elasticsearch
Знайсці дакумент па дакладным супадзенні поля Description: http://localhost:9200/_search?q=description: Исходящий tv1
Вынік:
пошук дакумента, у якога ў Description ёсць уваходжанне 'Уваходны' http://localhost:9200/_search?q=description like Входящий
Вынік:
Пошук карткі па змесціва прыкладзенага файла http://localhost:9200/_search?q=content like ‘AGILE’
вынік:
Знойдзем усе карткі тыпу дакумент: http://localhost:9200/_search?q=_type:CardDocument
ці ўсе карткі віду задання: http://localhost:9200/_search?q=_type:CardTask
Выкарыстоўваючы канструкцыі і і параметры, якія аддае Elasticsearch у выглядзе JSON можна сабраць такі запыт: http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Орёл офиc and Employee_FirstName:Konstantin
Ён пакажа ўсе карткі тыпу задання, сярод карыстальнікаў у якіх FirstName = Konstantin, і якія знаходзяцца ў Арол Офіс.
Акрамя LIKE ёсць і іншыя задакументаваныя параметры:
unlike, fields, docs, content і г.д.
Усе яны апісаны тут.