Mesin Pencari Teks Lengkap Vs DBMS

pengantar

Mesin pencari teks lengkap dan database relasional masing-masing memiliki kekuatan unik sebagai alat pengembangan tetapi juga memiliki kemampuan yang tumpang tindih. Keduanya dapat menyediakan penyimpanan dan pembaruan data dan keduanya mendukung pencarian data. Sistem teks lengkap lebih baik untuk mencari dengan cepat volume tinggi teks tidak terstruktur untuk keberadaan kata atau kombinasi kata apa pun. Mereka menyediakan kemampuan pencarian teks kaya dan alat peringkat relevansi yang canggih untuk mengurutkan hasil berdasarkan seberapa cocok mereka dengan permintaan pencarian yang berpotensi tidak jelas. Database relasional, di sisi lain, unggul dalam menyimpan dan memanipulasi data terstruktur – catatan bidang jenis tertentu (teks, bilangan bulat, mata uang, dll.). Mereka dapat melakukannya dengan sedikit atau tanpa redundansi. Mereka

pemasaran running text mendukung pencarian fleksibel dari beberapa jenis rekaman untuk nilai bidang tertentu, serta alat yang kuat untuk memperbarui catatan individu dengan cepat dan aman. Beberapa bidang dalam catatan tabel sebenarnya mungkin teks bentuk bebas, seperti deskripsi produk, dan sebagian besar database relasional saat ini memberikan dukungan untuk melakukan pencarian teks lengkap pada data tidak terstruktur. Namun, peringkat relevansi hasil untuk penelusuran teks tidak terstruktur untuk sebagian besar basis data relasional tidak setara dengan sistem penelusuran teks lengkap terbaik.

Beberapa aplikasi secara alami akan dilayani dengan baik oleh satu atau teknologi lainnya. Yang lain mungkin mulai di salah satu database relasional yang dipasang secara luas tetapi lebih baik dilayani oleh mesin pencari teks lengkap, kekurangan yang mungkin hanya terlihat atau bermasalah setelah persyaratan berubah atau volume data bertambah. Banyak aplikasi akan mengandalkan kedua teknologi secara bersamaan, baik untuk bagian data yang berbeda atau dengan menduplikasi beberapa data di kedua sistem untuk mendapatkan keuntungan dari keduanya.

Sisa artikel ini menjelaskan beberapa kekuatan dan kelemahan mesin pencari teks lengkap secara lebih rinci dan

Jual Jadwal sholat Running Text Murah memberikan beberapa pedoman untuk memilih model pengembangan yang tepat.

Apa yang dapat dilakukan mesin pencari teks lengkap

Mesin pencari teks lengkap unggul dalam pencarian cepat dan efektif volume besar teks tidak terstruktur – dokumen atau ‘catatan’ lain yang berisi teks bentuk bebas – dan mengembalikan dokumen ini berdasarkan seberapa cocok dokumen tersebut dengan kueri pengguna. Mereka mungkin juga memiliki kemampuan untuk membuat faset, atau mengkategorikan, data atau hasil pencarian dengan cepat berdasarkan nilai tertentu dari bidang tertentu. Kemampuan pencarian teks dari sistem terbaik kaya dan fleksibel, dan mencakup dukungan untuk pencarian kata kunci dasar, sintaks +/- gaya Internet, penggunaan operator Boolean, pemrosesan bahasa alami atau semu terbatas, operasi kedekatan, pencarian serupa, dll. Kemampuan peringkat relevansi yang menentukan kecocokan terbaik untuk suatu kueri termasuk menggunakan frekuensi istilah kueri dalam dokumen,

Dokumen-dokumen ini biasanya dari satu jenis atau struktur. Struktur ini sering kali terdiri dari bidang teks bentuk bebas primer (misalnya, badan utama dokumen, atau deskripsi utama produk), bidang teks bentuk bebas sekunder tambahan (misalnya, judul atau abstrak) dan beberapa non-teks atau bidang teks yang lebih dibatasi (mis., tanggal publikasi, ukuran, harga, kode produk, dll.). Merupakan hal yang umum untuk merujuk ke bidang teks utama sebagai data atau teks utama dan ke bidang lain (judul, harga, dll.) Yang berkaitan dengannya sebagai metadata. Namun, dokumen atau catatan ini – istilahnya dapat digunakan secara bergantian untuk merujuk ke satu ‘item’ yang diindeks dalam sistem pencarian teks lengkap – juga dapat dilihat hanya sebagai rangkaian bidang. Sejumlah bidang ini mungkin berupa teks bentuk bebas, dan salah satu di antaranya mungkin bukan teks atau data tekstual yang lebih dibatasi (mis.,

Sistem pencarian teks lengkap umumnya mengadopsi tampilan data yang mereka indeks dan cari: setiap dokumen / catatan hanyalah kumpulan bidang. Pencarian tertentu selalu dijalankan pada satu kolom atau beberapa kombinasi kolom, meskipun pengguna akhir mungkin tidak menyadarinya, terutama jika defaultnya adalah mencari semua kolom secara bersamaan.

Sistem pencarian teks lengkap umumnya bergantung pada beberapa jenis indeks untuk melakukan kueri. Yang paling umum adalah indeks terbalik, yang secara efektif mencantumkan setiap istilah – setiap kata, angka, dll. – di setiap dokumen bersama dengan indikasi dokumen mana yang berisi istilah itu (dan di mana, jika menelusuri frasa atau operasi kedekatan lainnya didukung , seperti biasanya). Mungkin ada indeks terpisah untuk setiap bidang, atau semua bidang mungkin dimuat dalam satu indeks. Dalam dokumen tertentu mungkin tidak ada nilai untuk satu atau lebih bidang. Namun, strukturnya sama untuk semua dokumen karena kumpulan bidang yang mungkin sama untuk semua dokumen untuk indeks teks lengkap tertentu. Sistem pencarian teks lengkap biasanya berisi beberapa kemampuan untuk menangani bidang non-teks, seperti pencarian rentang, kemampuan untuk mengurutkan hasil berdasarkan bidang apa pun, dll.

Hasil pencarian akan berasal dari satu set dokumen yang diindeks dengan satu set field. Kumpulan itu mungkin merupakan kumpulan dokumen dari banyak sumber dan dari banyak jenis. Kumpulan bidang yang ditentukan untuk indeks perlu menyertakan semua bidang yang akan dicari dari salah satu sumber dokumen .. Ini dapat berarti bahwa informasi tertentu perlu diulangi untuk bidang tertentu, misalnya, jika bidang kota adalah Boston dan ada kebutuhan juga untuk menyimpan atau mencari informasi negara bagian, negara bagian harus Massachusetts untuk setiap catatan yang kotanya adalah Boston. Dalam database relasional yang ‘dinormalisasi’, fakta bahwa Boston berada di Massachusetts hanya akan disimpan sekali. Beberapa sistem teks lengkap mungkin menyediakan beberapa kemampuan untuk ‘menggabungkan’ data dari berbagai jenis secara efektif, meminimalkan redundansi tersebut. Hal ini dapat dilakukan dengan struktur indeks khusus tambahan, dengan kueri ‘filter’ yang telah ditentukan sebelumnya yang menyimpan informasi tentang batasan kueri umum (secara efektif menggabungkan kueri dengan kueri yang disimpan) atau dengan teknik penelusuran multi-pass. Kapabilitas tipe multi-rekaman ini tidak sekaya atau sesederhana mereka dalam database relasional.

Selain mengindeks data, sebagian besar sistem pencarian teks lengkap modern, termasuk Lucene / Solr, memungkinkan Anda menyimpan dan mengambil data dalam bentuk aslinya. Salah satu alasan mereka melakukannya adalah agar dapat dengan mudah mengisi daftar hasil pencarian dengan data aktual – misalnya judul atau ringkasan dokumen – untuk mempermudah melihat dokumen mana yang paling relevan dan layak dibuka untuk tinjauan penuh. Dokumen / catatan yang dipilih sering kali kemudian dibuka dari lokasi aslinya, tetapi seseorang juga dapat menyimpan seluruh dokumen / catatan di sistem pencarian dan melihatnya dari dalam sistem.

Sistem pencarian teks lengkap modern juga mendukung pengindeksan tambahan, termasuk kemampuan untuk menambah, menghapus, atau memperbarui catatan. Namun, sistem teks lengkap agak terbatas kemampuannya untuk memproses pembaruan transaksional dengan cepat dan aman. Hal ini sebagian karena keunggulan kecepatan dan skala sistem teks lengkap untuk penelusuran teks disebabkan oleh kompresi indeks yang canggih untuk menyatakan bahwa kata tertentu mungkin muncul di jutaan dokumen tertentu. Kompresi ini membatasi kemampuan untuk pembaruan indeks selektif. Namun, beberapa mesin pencari teks lengkap mendukung pembaruan hampir real-time, seringkali dalam partisi indeks berbasis memori yang digulung menjadi indeks berbasis disk yang lebih lengkap di beberapa titik di latar belakang.

Kemampuan pencarian teks lengkap dari sistem terbaik ini dapat diringkas sebagai berikut:

1. Hasil pencarian sub-detik menunjukkan dokumen mana dari kemungkinan jutaan atau milyaran yang mengandung satu atau lebih istilah (kata, angka, dll.) Dalam pencarian pengguna. Ini termasuk pencarian yang baik untuk semua bidang teks, dan kemampuan yang lebih terbatas untuk mencari data non-teks. Ini juga dapat mencakup pembuatan faset yang efisien atau pengelompokan konten atau hasil pencarian berdasarkan nilai tertentu dari bidang tertentu.

2. Alat kueri teks yang kaya dan fleksibel serta kemampuan peringkat yang canggih untuk menemukan dokumen / catatan terbaik.

3. Kemampuan dasar untuk menambah, menghapus atau memperbarui dokumen / catatan.

4. Kemampuan dasar untuk menyimpan data (dan tidak hanya mengindeks dan mencarinya). Tidak semua sistem pencarian teks lengkap mendukung kemampuan ini tetapi kebanyakan mendukung, termasuk Lucene / Solr.

5. Kemampuan terbatas untuk mencari dan memanipulasi data yang sebenarnya mewakili jenis rekaman yang berbeda.

Kapan menggunakan mesin pencari teks lengkap

Persyaratan aplikasi yang mungkin menyarankan memilih sistem pencarian teks lengkap daripada database relasional adalah yang sesuai dengan kekuatan dan batasan di atas dari sistem pencarian teks lengkap:

1. Volume data teks bentuk bebas yang tinggi (atau catatan yang berisi data semacam itu) untuk dicari atau dibuat segi / dikategorikan – ratusan ribu atau jutaan dokumen / catatan (atau lebih).

2. Volume tinggi permintaan berbasis teks interaktif yang akan didukung.

3. Permintaan pencarian teks lengkap yang sangat fleksibel.

4. Permintaan untuk hasil pencarian yang sangat relevan tidak dipenuhi oleh database relasional yang tersedia.

5. Tuntutan yang relatif lebih sedikit untuk jenis rekaman yang berbeda, manipulasi data non-teks, atau pemrosesan transaksi yang aman.

Daftar ini memberikan beberapa alasan untuk memilih sistem pencarian teks lengkap di tempat pertama, atau untuk memigrasi sebagian atau semua aplikasi database relasional. Aplikasi database seperti itu mungkin sudah memadai ketika aplikasi dimulai tetapi sekarang memiliki satu atau beberapa masalah kinerja atau efektivitas karena pertumbuhan data, jumlah pengguna atau jenis permintaan pencarian. Banyak orang yang beralih ke sistem pencarian teks lengkap pada kenyataannya menemukan diri mereka hanya dalam situasi tersebut terkait pencarian konten tidak terstruktur mereka. Dalam beberapa kasus hal ini karena pilihan asli dari database relasional dibuat lebih sedikit karena persyaratan ‘relasional’ (multi-tabel) atau ‘manajemen database’ (pemrosesan transaksi) aplikasi yang sebenarnya tetapi hanya karena penyimpanan persisten diperlukan untuk data, dan database tampaknya merupakan pilihan yang wajar dan tersedia. Ketersediaan keterampilan database dan kurangnya keterampilan pencarian teks lengkap juga bisa menjadi alasan. Tetapi meskipun database mungkin cukup untuk sementara waktu untuk kebutuhan pencarian teks lengkap, perubahan lingkungan atau hanya permintaan untuk pencarian teks yang lebih baik sekarang memotivasi pengguna untuk mencari solusi yang lebih baik.

Meskipun terdapat lebih dari satu jenis record dalam database, sistem pencarian teks lengkap mungkin masih menjadi alat yang lebih efektif setelah data diratakan, misalnya, record dari tabel yang berbeda digabungkan menjadi satu format record yang lebih panjang yang sesuai untuk teks lengkap mesin pencari. Ini umumnya akan berfungsi selama tidak ada banyak tabel yang menyusun data untuk dicari, dan asalkan manipulasi catatan multi-tabel (dan pemrosesan transaksi yang canggih) bukan komponen penting dari aplikasi. Banyak aplikasi database relasional termasuk dalam kategori ini dan hanya memiliki satu atau sedikit tabel dan kebutuhan terbatas untuk pemrosesan atau pemulihan transaksi yang kaya. (Faktanya,

Dalam beberapa kasus, data perlu tetap berada dalam database relasional karena persyaratan aplikasi, tetapi pencarian teks lengkap yang disediakan oleh database tidak memadai dalam beberapa hal. Dalam situasi tersebut, data dapat diekspor ke sistem teks untuk pengindeksan dan pencarian teks lengkap dan kedua sistem digunakan bersama. Ekspor tersebut mungkin relatif statis (misalnya, proses malam hari) atau lebih dinamis – dengan data yang diekstrak dengan cepat dan / atau diindeks lebih cepat, mungkin dalam waktu nyata. Kebanyakan sistem pencarian teks lengkap menyediakan mekanisme untuk dengan mudah memetakan data tabel dalam database relasional ke dalam bidang terindeks dari sistem teks lengkap.

Ringkasan

Sistem pencarian teks lengkap unggul dalam pencarian kecepatan tinggi dan faceting dari volume data yang besar. Mereka tidak sekuat database relasional dalam menangani jenis multi-record atau pemrosesan transaksi, tetapi mereka mungkin cukup untuk kebutuhan ini dalam banyak kasus. Beberapa aplikasi DBMS benar-benar ada karena kemudahan, dan bukan karena mereka menuntut kemampuan DBMS relasional. Aplikasi tersebut dapat berhasil dimigrasi ke sistem pencarian teks lengkap jika DBMS tidak lagi memenuhi kebutuhan aplikasi. Aplikasi lain dapat dipindahkan sebagian ke sistem pencarian teks lengkap untuk mendukung kebutuhan pencarian teks lengkap, atau data dapat diindeks di keduanya untuk memberikan keuntungan masing-masing.

Leave a Reply

Your email address will not be published. Required fields are marked *