Permintaan Pencarian Dasar di Elasticsearch: Panduan Komprehensif

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.