Hello!
Hari ini kita akan bercakap tentang enjin carian teks penuh Elasticsearch (selepas ini ES), yang dengannya
Platform Docsvision 5.5 sedang berjalan.
Setelah pemasangan selesai, pergi ke http://localhost:9200/
Halaman status ES hendaklah dipaparkan, contoh di bawah:
Jika halaman tidak dibuka, pastikan perkhidmatan Elasticsearch sedang berjalan. Pada Windows ini
Perkhidmatan Elasticsearch.
3. Sambung ke Docsvision
Sambungan ke Elasticsearch dikonfigurasikan pada halaman perkhidmatan teks penuh
pengindeksan.
Di sini anda perlu menunjukkan:
1. Alamat pelayan Elasticsearch (ditetapkan semasa pemasangan).
2. Rentetan sambungan ke DBMS.
3. Alamat Docsvision (dalam format ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx)
4. Pada tab "Kad" dan "Direktori", anda perlu mengkonfigurasi data itu
perlu diindeks.
Anda juga perlu memastikan bahawa akaun di mana perkhidmatan Docsvision berjalan
Perkhidmatan Pengindeksan Teks Penuh, mempunyai akses kepada pangkalan data Docsvision pada MS SQL.
Selepas menyambung, anda perlu memastikan bahawa kerja dengan awalan dicipta dalam pangkalan data MS SQL:
"DV:FullText_<DBNAME>_CardWithFilesPrepareRange"
Selepas melengkapkan tetapan, bar carian akan dibuka kunci dalam klien Windows.
4. Elastik API REHAT
Pentadbir boleh mendapatkan pelbagai maklumat tentang operasi Elasticsearch menggunakan
disediakan oleh REST API.
Dalam contoh berikut kami akan menggunakan Pelanggan Rehat Insomnia.
Mendapat maklumat umum
Sebaik sahaja perkhidmatan itu siap dan berjalan (http://localhost:9200/ dalam penyemak imbas), anda boleh
jalankan permintaan: http://localhost:9200/_cat/health?v
Mari dapatkan jawapan tentang keadaan perkhidmatan Elasticsearch (dalam penyemak imbas):
Tindak balas status insomnia:
Mari kita perhatikan Status - Hijau, Kuning, Merah. Dokumentasi rasmi menyatakan perkara berikut tentang status:
β’ Hijau β Semuanya baik-baik saja (Kluster beroperasi sepenuhnya)
β’ Kuning - Semua data tersedia, tetapi beberapa replika dalam kelompok belum diperuntukkan untuknya
β’ MerahβSebahagian daripada data tidak tersedia untuk sebarang sebab (kelompok itu sendiri berfungsi seperti biasa)
Mendapatkan keadaan tentang nod dalam kelompok dan keadaannya (saya mempunyai 1 nod): http://localhost:9200/_cat/nodes?v
Semua indeks ES: http://localhost:9200/_cat/indices?v
Selain indeks daripada Docsvision, mungkin terdapat juga indeks aplikasi lain - degupan jantung,
kibana - jika anda menggunakannya. Anda boleh menyusun yang perlu daripada yang tidak perlu. Sebagai contoh,
Mari kita ambil hanya indeks yang mempunyai %card% dalam nama: http://localhost:9200/_cat/indices/*card*?v&s=index
Konfigurasi elasticsearch
Mendapatkan tetapan Elasticsearch: http://localhost:9200/_nodes
Hasilnya akan menjadi agak luas, termasuk laluan ke log:
Kami sudah tahu cara untuk mengetahui senarai indeks; Docsvision melakukan ini secara automatik, memberikan nama kepada indeks dalam format:
<nama pangkalan data+jenis Kad Terindeks>
Anda juga boleh membuat indeks bebas anda sendiri: http://localhost:9200/customer?pretty
Hanya ini bukan GET, tetapi permintaan PUT:
Keputusan:
pertanyaan berikut akan menunjukkan semua indeks, termasuk yang baharu (pelanggan): http://localhost:9200/_cat/indices?v
5. Mendapatkan maklumat tentang data yang diindeks
Status indeks carian elastik
Selepas konfigurasi awal oleh Docsvision telah selesai, perkhidmatan itu harus sedia untuk beroperasi dan mula mengindeks data.
Pertama sekali, mari kita semak sama ada indeks telah diisi dan saiznya lebih besar daripada "bait" standard menggunakan pertanyaan yang sudah biasa kepada kita: http://localhost:9200/_cat/indices?v
Akibatnya, kami melihat: 87 "tugas" dan 72 "dokumen" telah diindeks, bercakap dari segi EDMS kami:
Selepas beberapa lama, hasilnya adalah seperti berikut (secara lalai, kerja pengindeksan dilancarkan setiap 5 minit):
Kami melihat bahawa jumlah dokumen telah meningkat.
Bagaimanakah anda tahu bahawa kad yang anda perlukan telah diindeks?
β’ Mula-mula, anda perlu memastikan bahawa jenis kad dalam Docsvision sepadan dengan data yang dinyatakan dalam tetapan Elascticsearch.
β’ Kedua, tunggu susunan kad diindeks - apabila ia masuk ke dalam Docsvision, beberapa masa mesti berlalu sebelum data muncul dalam storan.
β’ Ketiga, anda boleh mencari kad menggunakan CardID. Anda boleh melakukan ini dengan permintaan berikut:
Jika kad itu berada dalam storan, kami akan melihat data "mentah"nya; jika tidak, kami akan melihat sesuatu seperti ini:
Mencari kad dalam nod Elasticsearch
Cari dokumen mengikut padanan tepat medan Penerangan: http://localhost:9200/_search?q=description: ΠΡΡ ΠΎΠ΄ΡΡΠΈΠΉ tv1
Keputusan:
cari dokumen yang mempunyai entri 'Masuk' dalam Penerangannya http://localhost:9200/_search?q=description like ΠΡ ΠΎΠ΄ΡΡΠΈΠΉ
Keputusan:
Cari kad mengikut kandungan fail yang dilampirkan http://localhost:9200/_search?q=content like βAGILEβ
hasil:
Mari cari semua kad jenis dokumen: http://localhost:9200/_search?q=_type:CardDocument
atau semua kad jenis tugasan: http://localhost:9200/_search?q=_type:CardTask
Menggunakan reka bentuk and dan parameter yang Elasticsearch berikan dalam bentuk JSON, anda boleh memasang permintaan berikut: http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: ΠΡΡΠ» ΠΎΡΠΈc and Employee_FirstName:Konstantin
Ia akan menunjukkan semua kad jenis tugas, antara pengguna yang FirstName = Konstantin, dan yang berada di Pejabat Eagle.
Tetapi SEPERTI Terdapat parameter lain yang didokumenkan:
tidak seperti, medan, dokumen, kandungan, dsb.
Kesemuanya diterangkan di sini.