Apa Perbedaan Antara Kueri Fuzzy dan Kueri Pencocokan?

Apa Perbedaan Antara Kueri Fuzzy Dan Kueri Pencocokan



Elasticsearch adalah mesin pencari dan database terkenal, gratis, sumber terbuka, analitis, dan terdistribusi yang digunakan untuk mengelola berbagai jenis data. Ini murni database NoSQL dan bekerja secara berbeda dari SQL biasa dan database relasional. Elasticsearch menggunakan kueri DSL ((Bahasa Khusus Domain) dan REST API untuk mengelola dan menganalisis data. Berbagai jenis kueri ada di Elasticsearch seperti kueri fuzzy, kueri pencocokan, kueri wild card, kueri awalan, dan banyak lagi. Kueri ini bekerja secara berbeda dari satu orang ke orang lainnya.

Posting ini menunjukkan pada:

Apa itu Kueri “kabur”?

kusut ” query adalah Query DSL yang melakukan operasi pencarian lainnya seperti mengubah karakter, memasukkan karakter, atau menghapus karakter berdasarkan “ Jarak edit Levenshtein ' jarak. Biasanya menemukan perbedaan antara istilah dan mengembalikan hasilnya dalam dokumen yang lebih dekat atau hampir mirip dengan istilah yang dicari.







Apa yang dimaksud dengan Kueri “kecocokan”?

cocok ” query adalah jenis lain dari Query DSL yang digunakan untuk mencocokkan atau mencari data tertentu seperti string, angka, atau teks. Ini adalah sebuah ' teks lengkap ” berdasarkan kueri dan melakukan penelusuran teks lengkap dan mengembalikan hasil yang sama persis dengan istilah penelusuran. Jika istilah tersebut tidak cocok dengan istilah pencarian, maka akan menghasilkan string nol atau salah.



Perbedaan Antara Kueri “fuzzy” dan “cocok”.

Keduanya ' kusut ' Dan ' cocok ” Kueri digunakan untuk tujuan pencarian. Perbedaan utama antara kedua kueri ini adalah kueri “fuzzy” membuat penelusuran fuzzy dan mengembalikan hasil yang serupa atau mendekati istilah yang dicari. Sebaliknya, kueri “cocok” mengembalikan hasil yang sama persis dengan istilah yang dicari.



Untuk pemahaman yang lebih baik, ikuti contoh yang diberikan di bawah ini:





Contoh 1: Pencarian Fuzzy Menggunakan Query “fuzzy”.

Misalkan, pengguna ingin mencari dokumen yang memiliki “ Penamaan ” nilai sebagai “ Pengarang ”. Mari kita melakukan penelusuran untuk menemukan kecocokan yang lebih dekat. Untuk melakukannya, manfaatkan “ kusut ” query untuk mencari dokumen yang memiliki “ Penamaan ” nilainya sama dengan atau mendekati “ pengarang ”:

DAPATKAN petunjuk linux / _mencari

{

'pertanyaan' : {

'kusut' : {

'Penamaan' : 'pengarang'

}

}

}

Output di bawah ini menunjukkan bahwa dokumen memiliki id “ 1 ' mempunyai sebuah ' Penamaan ” nilainya mendekati “ pengarang ” istilah yang dicari:



Namun jika contoh di atas diterapkan oleh “ cocok ” permintaan, itu akan mengirimkan “ string nol ” karena mengembalikan istilah yang sama persis.

Contoh 2: Pencarian Fuzzy Menggunakan Query “Match”.

Mari kita ambil contoh yang sama dan terapkan “ cocok ” kueri untuk menemukan dokumen yang memiliki “ Penamaan ” nilai sebagai “ pengarang ”:

DAPATKAN petunjuk linux / _mencari

{

'pertanyaan' : {

'cocok' : {

'Penamaan' : 'pengarang'

}

}

}

Output di bawah ini menunjukkan bahwa “ cocok ” kueri tidak menemukan hasil yang lebih mendekati dan mengembalikan “ batal ' rangkaian:

Mari kita ubah nilai pencarian dari “ pengarang ' ke ' Pengarang ” dan jalankan “ cocok ” kueri seperti yang ditunjukkan di bawah ini:

DAPATKAN petunjuk linux / _mencari

{

'pertanyaan' : {

'cocok' : {

'Penamaan' : 'Pengarang'

}

}

}

Di sini, Anda dapat melihat “ cocok ” query mengembalikan dokumen yang memiliki id “ 1 ”. Karena dokumen 1 sama persis dengan istilah yang dicari:

Itu semua tentang perbedaan antara “ kusut ” kueri dan “ cocok ” pertanyaan.

Kesimpulan

kusut ” kueri digunakan untuk melakukan pencarian fuzzy dan mengembalikan hasil yang paling cocok dengan istilah pencarian. Namun, “ cocok ” kueri tidak mendukung pencarian fuzzy dan mengembalikan hasil yang sama persis dengan istilah pencarian. Blog ini telah mengilustrasikan perbedaan antara kueri fuzzy dan kueri pencocokan.