Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 20947|Jawab: 1

Kueri majemuk ElasticSearch harus, seharusnya, must_not digunakan

[Salin tautan]
Diposting pada 28/12/2018 12.01.09 | | |
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:







Mantan:Dibeli oleh Sekolah Online Akuntansi China pada 18 Desember (Kamp Pelatihan Bea Cukai Praktik Akuntansi Level 6)
Depan:Ekspresi Regex C# mengambil nilai href tag A dalam HTML
Diposting pada 22/11/2022 14.25.30 |
Pelajari es, terima kasih tuan tanah
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com