Elasticsearch-ə qoşulma tam mətn xidmətinin səhifəsində konfiqurasiya edilmişdir.
indeksləşdirmə.
Burada müəyyən etmək lazımdır:
1. Elasticsearch server ünvanı (quraşdırma zamanı təyin olunur).
2. DBMS əlaqə sətri.
3. Docsvision ünvanı (ConnectAddress= formatındahttp://SERVER/DocsVision/StorageServer/StorageServerService.
asmx)
4. "Kartlar" və "İstinadlar" sekmesinde siz məlumatları konfiqurasiya etməlisiniz
indeksləşdirmək lazımdır.
Siz həmçinin Docsvision xidmətinin işlədiyi hesabın olduğundan əmin olmalısınız
Tam mətnin indeksləşdirilməsi xidməti, MS SQL-də Docsvision verilənlər bazasına giriş imkanına malikdir.
Qoşulduqdan sonra MS SQL verilənlər bazasında prefiksli tapşırıqların yaradıldığından əmin olmalısınız:
"DV:FullText_<DBNAME>_CardWithFilesPrepareRange"
Windows müştərisində parametrləri tamamladıqdan sonra axtarış çubuğu açılacaq.
4. Elastik REST API
Administrator istifadə edərək Elasticsearch əməliyyatı haqqında müxtəlif məlumatlar əldə edə bilər
REST API tərəfindən təmin edilir.
Aşağıdakı nümunələrdə biz Insomnia Rest Client-dən istifadə edəcəyik.
Ümumi məlumat əldə etmək
Xidmət işə salındıqdan və işə salındıqdan sonra (brauzerdə http://localhost:9200/) edə bilərsiniz
sorğunu icra edin: http://localhost:9200/_cat/health?v
Elasticsearch xidmətinin statusu haqqında cavab alın (brauzerdə):
Yuxusuzluqda vəziyyət cavabı:
Vəziyyətə diqqət yetirək - Yaşıl, Sarı, Qırmızı. Rəsmi sənədlərdə statuslar haqqında aşağıdakılar deyilir:
• Yaşıl - Hər şey qaydasındadır (Klaster tam işləkdir)
• Sarı - Bütün məlumatlar mövcuddur, lakin klasterdəki bəzi replikalar onlara hələ ayrılmayıb.
• Qırmızı - Məlumatın bir hissəsi hər hansı səbəbdən əlçatan deyil (klasterin özü normal işləyir)
Klasterdəki qovşaqlar və onların vəziyyəti haqqında vəziyyətlərin əldə edilməsi (məndə 1 node var): http://localhost:9200/_cat/nodes?v
Bütün indekslər (indekslər) ES: http://localhost:9200/_cat/indices?v
Docsvision-dan indekslərə əlavə olaraq, digər proqramların indeksləri də ola bilər - ürək döyüntüsü,
kibana - onlardan istifadə etsəniz. Ehtiyacınız olanı ehtiyacınız olmayandan ayıra bilərsiniz. Misal üçün,
yalnız adlarında %card% olan indeksləri götürün: http://localhost:9200/_cat/indices/*card*?v&s=index
Elasticsearch konfiqurasiyası
Elasticsearch parametrlərinin əldə edilməsi: http://localhost:9200/_nodes
Nəticə loglara gedən yollar da daxil olmaqla olduqca geniş olacaq:
İndekslərin siyahısını necə tapmaq olar, biz artıq bilirik, Docsvision bunu avtomatik olaraq indeksin adını formatda verməklə edir:
<verilənlər bazasının adı+İndeksli kart növü>
Siz həmçinin öz müstəqil indeksinizi yarada bilərsiniz: http://localhost:9200/customer?pretty
Yalnız bu GET deyil, PUT sorğusu olacaq:
Nəticə:
aşağıdakı sorğu bütün indeksləri, o cümlədən yeniləri (müştəri) göstərəcək: http://localhost:9200/_cat/indices?v
5. İndeksləşdirilmiş məlumatlar haqqında məlumat əldə etmək
Elasticsearch indekslərinin vəziyyəti
Docsvision tərəfindən ilkin konfiqurasiya tamamlandıqdan sonra xidmət işləməyə hazır olmalıdır və məlumatların indeksləşdirilməsinə başlamalıdır.
Əvvəlcə indekslərin doldurulduğunu və ölçüsünün bizə artıq tanış olan sorğu ilə standart "baytlardan" böyük olduğunu yoxlayaq: http://localhost:9200/_cat/indices?v
nəticədə görürük: 87 "tapşırıq" və 72 "sənəd" indekslənir, EDMS baxımından danışırıq:
Bir müddət sonra nəticələr aşağıdakı kimidir (defolt olaraq, indeksləşdirmə işi hər 5 dəqiqədən bir işləyir):
Sənədlərin sayının artdığını görürük.
İstədiyiniz kartın indeksləşdirildiyini necə başa düşmək olar?
• Əvvəlcə Docsvision-da kart növünün Elasticsearch parametrlərində göstərilən məlumatlara uyğun olduğundan əmin olmalısınız.
• İkincisi, kartlar massivinin indeksləşdirilməsini gözləyin - o, Docsvision-a daxil olduqda, məlumat yaddaşda görünənə qədər bir müddət keçməlidir.
• Üçüncüsü, siz CardID ilə kartı axtara bilərsiniz. Bunu bir sorğu ilə edə bilərsiniz:
Kart yaddaşdadırsa, onun "xam" məlumatlarını görəcəyik, yoxsa, belə bir cavab görəcəyik:
Elasticsearch qovşağında kart axtarılır
Təsvir sahəsinin tam uyğunluğu ilə sənəd tapın: http://localhost:9200/_search?q=description: Исходящий tv1
Nəticə:
Təsvirində "Gələn" girişi olan sənədi axtarın http://localhost:9200/_search?q=description like Входящий
Nəticə:
Əlavə edilmiş faylın məzmununa görə kartı axtarın http://localhost:9200/_search?q=content like ‘AGILE’
nəticə:
Sənəd tipli bütün kartları tapın: http://localhost:9200/_search?q=_type:CardDocument
və ya tapşırıq növünün bütün kartları: http://localhost:9200/_search?q=_type:CardTask
Konstruksiyalardan istifadə və və Elasticsearch-in JSON şəklində verdiyi parametrlər, belə bir sorğu toplaya bilərsiniz: http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Орёл офиc and Employee_FirstName:Konstantin
Adı = Konstantin olan və Oryol Ofisində yerləşən istifadəçilər arasında tapşırıq tipli bütün kartları göstərəcəkdir.
Lakin Kimi digər sənədləşdirilmiş variantlar var:
fərqli olaraq, sahələr, sənədlər, məzmun və s.
Onların hamısı təsvir edilmişdir burada.