Kueri berbasis kata kunci(Match Query)
Kueri Kecocokan digunakan untuk mencari dokumen yang berisi kata kunci tertentu. Ini akan mengembalikan dokumen yang memiliki setidaknya satu kata kunci yang sesuai.
Contoh: Temukan produk dengan nama yang mengandung kata kunci laptop
di products Index
.
GET /products/_search
{
"query": {
"match": {
"name": "laptop"
}
}
}
Harus Berisi Semua Kata Kunci(Match Phrase Query)
Kueri Cocokkan Frasa mengharuskan semua kata kunci dalam kueri muncul secara berurutan dan dalam urutan yang benar dalam teks dokumen.
Contoh: Temukan produk dengan deskripsi yang berisi frasa HP laptop
.
GET /products/_search
{
"query": {
"match_phrase": {
"description": "HP laptop"
}
}
}
Harus Mengandung Seluruh Awalan Frasa(Match Phrase Prefix Query)
Kueri Match Phrase Prefix mirip dengan Match Phrase, tetapi memungkinkan pencocokan sebagian dari kata kunci terakhir.
Contoh: Temukan produk dengan deskripsi yang dimulai dengan laptop
.
GET /products/_search
{
"query": {
"match_phrase_prefix": {
"description": "laptop"
}
}
}
Kueri Berbasis Istilah(Term Query)
Kueri Istilah digunakan untuk mencari dokumen dengan bidang yang memiliki nilai persis seperti yang ditentukan.
Contoh: Temukan produk dengan category
bidang yang memiliki nilai laptop
.
GET /products/_search
{
"query": {
"term": {
"category": "laptop"
}
}
}
Kueri berbasis rentang(Range Query)
Kueri Rentang membantu mencari dokumen dengan nilai bidang dalam rentang tertentu.
Contoh: Temukan produk dengan harga antara 500 dan 1000.
GET /products/_search
{
"query": {
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
}
Kueri Tingkat Istilah
Kueri Tingkat Istilah memungkinkan pencarian dokumen berdasarkan kondisi tertentu seperti kueri Exact, Prefix, Range, Wildcard, dan Fuzzy.
Contoh: Temukan produk dengan nama dimulai dengan laptop
dan harga antara 500 dan 1000.
GET /products/_search
{
"query": {
"bool": {
"must": [
{
"prefix": {
"name": "laptop"
}
},
{
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
]
}
}
}
Full-Text Pertanyaan
Full-Text kueri memungkinkan pencarian bidang teks menggunakan algoritme analisis teks untuk menemukan kata atau sinonim yang serupa.
Contoh: Temukan produk dengan deskripsi yang mengandung salah satu computer
atau laptop
.
GET /products/_search
{
"query": {
"match": {
"description": "computer laptop"
}
}
}
Kueri Boolean
Boolean
kueri memungkinkan penggabungan beberapa sub-kueri dengan beragam kondisi pencarian, seperti harus berisi semua, harus berisi setidaknya satu, atau tidak boleh berisi, untuk mencapai hasil pencarian yang tepat.
Contoh: Temukan produk dengan category
keberadaan laptop
dan harga antara 500 dan 1000.
GET /products/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"category": "laptop"
}
},
{
"range": {
"price": {
"gte": 500,
"lte": 1000
}
}
}
]
}
}
}
Ini adalah kueri penelusuran dasar dalam Elasticsearch, beserta contoh bergambar untuk setiap jenis kueri. Saat menggunakan Elasticsearch, Anda dapat menggabungkan kueri ini untuk mencari data secara fleksibel dan efisien.