Temel Arama Sorguları Elasticsearch: Kapsamlı Bir Kılavuz

Anahtar Kelime Tabanlı Sorgu(Match Query)

Eşleştirme sorgusu, belirli anahtar kelimeleri içeren belgeleri aramak için kullanılır. Karşılık gelen en az bir anahtar kelimeye sahip belgeleri döndürür.

laptop  Örnek: içinde anahtar kelimeyi içeren ada sahip ürünleri bulun products Index.

GET /products/_search  
{  
  "query": {  
    "match": {  
      "name": "laptop"  
    }  
  }  
}  

 

Tüm Anahtar Kelimeleri İçermelidir(Match Phrase Query)

Eşleme İfadesi sorgusu, sorgudaki tüm anahtar sözcüklerin belge metninde art arda ve doğru sırada görünmesini gerektirir.

Örnek: Açıklamasında ifadesini içeren ürünleri bulun HP laptop.

GET /products/_search  
{  
  "query": {  
    "match_phrase": {  
      "description": "HP laptop"  
    }  
  }  
}  

 

Cümle Önekinin Tamamını İçermelidir(Match Phrase Prefix Query)

Eşleme İfadesi Öneki sorgusu, Eşleme İfadesine benzer, ancak son anahtar kelimenin kısmi eşleşmesine izin verir.

Örnek: Açıklaması ile başlayan ürünleri bulun laptop.

GET /products/_search  
{  
  "query": {  
    "match_phrase_prefix": {  
      "description": "laptop"  
    }  
  }  
}  

 

Terim Bazlı Sorgulama(Terim Sorgulama)

Terim sorgusu, belirtilen tam değere sahip bir alana sahip belgeleri aramak için kullanılır.

Örnek: Alan category değerine sahip ürünleri bulun laptop.

GET /products/_search  
{  
  "query": {  
    "term": {  
      "category": "laptop"  
    }  
  }  
}  

 

Aralık Tabanlı Sorgu(Range Query)

Aralık sorgusu, belirli bir aralıkta bir alan değerine sahip belgelerin aranmasına yardımcı olur.

Örnek: Fiyatı 500 ile 1000 arasında olan ürünleri bulun.

GET /products/_search  
{  
  "query": {  
    "range": {  
      "price": {  
        "gte": 500,  
        "lte": 1000  
      }  
    }  
  }  
}  

 

Terim Seviyesi Sorgusu

Terim Seviyesi sorguları, Exact, Prefix, Range, Wildcard ve Fuzzy sorguları gibi belirli koşullara dayalı olarak belgelerin aranmasına olanak tanır.

Örnek: Adı ile başlayan laptop ve fiyatı 500 ile 1000 arasında olan ürünleri bulun.

GET /products/_search  
{  
  "query": {  
    "bool": {  
      "must": [  
        {  
          "prefix": {  
            "name": "laptop"  
          }  
        },  
        {  
          "range": {  
            "price": {  
              "gte": 500,  
              "lte": 1000  
            }  
          }  
        }  
      ]  
    }  
  }  
}  

 

Full-Text Sorgu

Full-Text sorgular, benzer kelimeleri veya eşanlamlıları bulmak için metin analizi algoritmalarını kullanarak metin alanlarının aranmasına olanak tanır.

computer  Örnek: veya içeren açıklamaları olan ürünleri bulun laptop.

GET /products/_search  
{  
  "query": {  
    "match": {  
      "description": "computer laptop"  
    }  
  }  
}  

 

Boole Sorgusu

Boolean sorgular, kesin arama sonuçları elde etmek için tümünü içermeli, en az birini içermeli veya içermemeli gibi çeşitli arama koşullarıyla birden fazla alt sorgunun birleştirilmesine olanak tanır.

Örnek: Varlık category ve laptop  fiyatları 500 ile 1000 arasında olan ürünleri bulun.

GET /products/_search  
{  
  "query": {  
    "bool": {  
      "must": [  
        {  
          "term": {  
            "category": "laptop"  
          }  
        },  
        {  
          "range": {  
            "price": {  
              "gte": 500,  
              "lte": 1000  
            }  
          }  
        }  
      ]  
    }  
  }  
}  

 

Elasticsearch Bunlar, her sorgu türü için resimli örneklerle birlikte içindeki temel arama sorgularıdır. kullanırken Elasticsearch, verileri esnek ve verimli bir şekilde aramak için bu sorguları birleştirebilirsiniz.