Kueri Sambungan Bool: harus, harus, must_not
Jika kita ingin meminta sesuatu yang mirip dengan "konten dengan BMW, tetapi tidak dalam tag", kita perlu menggunakan kueri federasi bool.
Kueri bersama akan menggunakan tiga kata kunci: harus, harus, must_not.
Ketiganya dapat dipahami dengan cara ini
must: Dokumen harus sesuai dengan kondisi yang tepat
should: harus memiliki lebih dari satu kondisi, dan jika setidaknya satu kondisi terpenuhi, dokumen ini akan memenuhi
must_not:Dokumen tidak boleh sesuai dengan kriteria
Pengenalan situs web resmi:https://www.elastic.co/guide/cn/ ... bining-filters.html
Kueri DSL
match_all Kueri
Semua dokumen dapat dikueri, dan ini adalah pernyataan default tanpa kondisi kueri.
Kueri ini sering digunakan untuk menggabungkan filter. Misalnya, Anda perlu mengambil semua kotak surat, dan semua relevansi dokumen adalah sama, sehingga _score yang Anda dapatkan adalah 1.
kueri pencocokan
Kueri pencocokan adalah kueri standar yang pada dasarnya digunakan apakah Anda memerlukan kueri teks lengkap atau kueri persis.
Jika Anda menggunakan pencocokan untuk mengkueri bidang teks lengkap, penganalisis akan menggunakan penganalisis untuk mengurai karakter kueri sebelum kueri yang sebenarnya:
Jika Anda menentukan nilai persis di bawah pencocokan, itu akan mencari nilai yang Anda berikan saat menemukan angka, tanggal, boolean, atau string not_analyzed:
Tips: Saat melakukan pencarian pencocokan persis, sebaiknya gunakan pernyataan filter karena pernyataan filter menyimpan data dalam cache.
Kueri pencocokan hanya dapat mencari nilai persis yang menentukan bidang yang tepat, dan yang harus Anda lakukan adalah menentukan nama bidang yang benar untuk itu untuk menghindari kesalahan sintaks.
multi_match Kueri
Kueri multi_match memungkinkan Anda mencari beberapa bidang secara bersamaan berdasarkan kueri kecocokan, dan mencarinya di beberapa bidang secara bersamaan:
kueri bool
Kueri bool mirip dengan pemfilteran bool dan digunakan untuk menggabungkan beberapa klausa kueri. Perbedaannya adalah bahwa filter bool dapat secara langsung memberikan apakah kecocokan berhasil, sedangkan kueri bool menghitung _score (skor korelasi) dari setiap klausa kueri.
must:: 查询指定文档一定要被包含。 must_not:: Kueri dokumen yang ditentukan tidak boleh disertakan.
should:: 查询指定文档,有则可以为文档相关性加分。
Kueri berikut akan menemukan bahwa bidang judul berisi "cara menghasilkan jutaan" dan bidang "tag" tidak ditandai sebagai spam. Jika mereka diberi label sebagai "berbintang" atau memiliki tanggal rilis sebelum 2014, maka dokumen yang cocok ini akan berada pada tingkat yang lebih tinggi daripada situs serupa:
Tip: Jika tidak ada klausa harus di bawah kueri bool, setidaknya harus ada satu klausa seharusnya. Tetapi jika ada klausa kebutuhan, maka kueri juga dapat dibuat tanpa klausa kebutuhan.
Kueri karakter pengganti
Gunakan kueri karakter pengganti shell standar
Kueri berikut cocok dengan dokumen yang berisi W1F 7HW dan W2F 8HW:
Misalnya, kueri berikut untuk nama host cocok dengan karakter pengganti shell berikut:
kueri regexp
Katakanlah Anda hanya ingin mencocokkan kode pos yang dimulai dengan W diikuti dengan angka. Menggunakan kueri regexp memungkinkan Anda menulis pola yang lebih kompleks:
Ekspresi reguler ini menentukan bahwa entri harus dimulai dengan W, diikuti dengan angka dari 0 hingga 9, diikuti oleh satu atau beberapa karakter lainnya.
Contoh berikut adalah semua dimulai reguler dengan wxopen
Kueri awalan
Karakter apa yang dimulai, Anda dapat menggunakan awalan dengan lebih sederhana, seperti pada contoh di bawah ini:
Pencocokan Frasa
Saat Anda perlu menemukan beberapa kata dalam jarak dekat, Anda menggunakan kueri match_phrase:
Mirip dengan kueri pencocokan, kueri match_phrase pertama-tama mengurai string kueri untuk menghasilkan daftar istilah. Ini akan mencari semua entri, Namun, hanya dokumen yang berisi semua istilah pencarian yang disimpan, dan posisi istilah harus berdekatan. Kueri untuk frasa Quick Fox tidak akan cocok dokumentasi kami, karena tidak ada dokumentasi yang berisi entri cepat dan kotak yang berdekatan satu sama lain. match_phrase kueri juga dapat ditulis sebagai kueri pencocokan jenis frasa:
|