Helo!
Hari ini kita akan berbicara tentang mesin pencari teks lengkap Elasticsearch (selanjutnya disebut ES), yang dengannya
Platform Docsvision 5.5 sedang berjalan.
Setelah instalasi selesai, buka http://localhost:9200/
Halaman status ES akan ditampilkan, contoh di bawah ini:
Jika halaman tidak terbuka, pastikan layanan Elasticsearch berjalan. Di Windows ini
Layanan pencarian elastis.
3. Hubungkan ke Docsvision
Koneksi ke Elasticsearch dikonfigurasikan pada halaman layanan teks lengkap
pengindeksan.
Di sini Anda perlu menunjukkan:
1. Alamat server Elasticsearch (ditetapkan saat instalasi).
2. String koneksi ke DBMS.
3. Alamat Docsvision (dalam format ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
com.asmx)
4. Pada tab βKartuβ dan βDirektoriβ, Anda perlu mengonfigurasi data itu
perlu diindeks.
Anda juga perlu memastikan bahwa akun tempat layanan Docsvision berjalan
Layanan Pengindeksan Teks Lengkap, memiliki akses ke database Docsvision di MS SQL.
Setelah tersambung, Anda perlu memastikan bahwa pekerjaan dengan awalan dibuat di database MS SQL:
"DV:Teks Lengkap_<DBNAME>_CardWithFilesPrepareRange"
Setelah menyelesaikan pengaturan, bilah pencarian akan dibuka kuncinya di klien Windows.
4. REST API Elastis
Administrator dapat memperoleh berbagai informasi tentang pengoperasian Elasticsearch menggunakan
disediakan oleh REST API.
Dalam contoh berikut kita akan menggunakan Insomnia Rest Client.
Mendapatkan informasi umum
Setelah layanan aktif dan berjalan (http://localhost:9200/ di browser), Anda bisa
jalankan permintaan: http://localhost:9200/_cat/health?v
Mari kita dapatkan tanggapan tentang status layanan Elasticsearch (di browser):
Tanggapan status insomnia:
Mari kita perhatikan Status - Hijau, Kuning, Merah. Dokumentasi resmi menyatakan hal berikut tentang status:
β’ Hijau β Semuanya baik-baik saja (Cluster ini beroperasi penuh)
β’ Kuning - Semua data tersedia, namun beberapa replika di cluster belum dialokasikan untuk data tersebut
β’ MerahβSebagian data tidak tersedia karena alasan apa pun (klaster itu sendiri berfungsi normal)
Mendapatkan status tentang node di cluster dan statusnya (Saya punya 1 node): http://localhost:9200/_cat/nodes?v
Semua indeks ES: http://localhost:9200/_cat/indices?v
Selain indeks dari Docsvision, mungkin juga ada indeks dari aplikasi lain - detak jantung,
kibana - jika Anda menggunakannya. Anda dapat memilah mana yang diperlukan dari mana yang tidak perlu. Misalnya,
Mari kita ambil hanya indeks yang memiliki %card% pada namanya: http://localhost:9200/_cat/indices/*card*?v&s=index
Konfigurasi pencarian elastis
Mendapatkan pengaturan Elasticsearch: http://localhost:9200/_nodes
Hasilnya akan cukup luas, termasuk jalur menuju log:
Kita sudah mengetahui cara mengetahui daftar indeks; Docsvision melakukan ini secara otomatis, memberi nama pada indeks dalam format:
<nama database+jenis Kartu Terindeks>
Anda juga dapat membuat indeks independen Anda sendiri: http://localhost:9200/customer?pretty
Hanya saja ini bukan permintaan GET, melainkan permintaan PUT:
Hasilnya:
kueri berikut akan menampilkan semua indeks, termasuk yang baru (pelanggan): http://localhost:9200/_cat/indices?v
5. Memperoleh informasi tentang data yang diindeks
Status indeks Elasticsearch
Setelah konfigurasi awal oleh Docsvision selesai, layanan harus siap beroperasi dan mulai mengindeks data.
Pertama-tama, mari kita periksa apakah indeks sudah terisi dan ukurannya lebih besar dari "byte" standar menggunakan kueri yang sudah kita kenal: http://localhost:9200/_cat/indices?v
Hasilnya, kami melihat: 87 "tugas" dan 72 "dokumen" diindeks, dalam istilah EDMS kami:
Setelah beberapa waktu, hasilnya adalah sebagai berikut (secara default, pekerjaan pengindeksan diluncurkan setiap 5 menit):
Kami melihat jumlah dokumen meningkat.
Bagaimana Anda tahu bahwa kartu yang Anda perlukan telah diindeks?
β’ Pertama, Anda perlu memastikan bahwa jenis kartu di Docsvision cocok dengan data yang ditentukan dalam pengaturan Elascticsearch.
β’ Kedua, tunggu hingga susunan kartu diindeks - ketika masuk ke Docsvision, perlu beberapa waktu sebelum data muncul di penyimpanan.
β’ Ketiga, Anda dapat mencari kartu berdasarkan CardID. Anda dapat melakukannya dengan permintaan berikut:
Jika kartu ada di dalam penyimpanan, kita akan melihat data βmentahβ; jika tidak, kita akan melihat sesuatu seperti ini:
Mencari kartu di node Elasticsearch
Temukan dokumen dengan pencocokan persis dengan bidang Deskripsi: http://localhost:9200/_search?q=description: ΠΡΡ ΠΎΠ΄ΡΡΠΈΠΉ tv1
Hasilnya:
cari dokumen yang memiliki entri 'Masuk' di Deskripsinya http://localhost:9200/_search?q=description like ΠΡ ΠΎΠ΄ΡΡΠΈΠΉ
Hasilnya:
Cari kartu berdasarkan isi file terlampir http://localhost:9200/_search?q=content like βAGILEβ
hasil:
Mari temukan semua kartu dari jenis dokumen: http://localhost:9200/_search?q=_type:CardDocument
atau semua kartu dari jenis tugas: http://localhost:9200/_search?q=_type:CardTask
Menggunakan desain dan dan parameter yang diberikan Elasticsearch dalam bentuk JSON, Anda dapat menyusun permintaan berikut: http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: ΠΡΡΠ» ΠΎΡΠΈc and Employee_FirstName:Konstantin
Ini akan menampilkan semua kartu dari jenis tugas, di antara pengguna yang Nama Depannya = Konstantin, dan yang berada di Kantor Elang.
Tetapi SEPERTI Ada parameter lain yang terdokumentasi:
tidak seperti, bidang, dokumen, konten, dll.
Semuanya dijelaskan di sini.