Yıldız etkin değilYıldız etkin değilYıldız etkin değilYıldız etkin değilYıldız etkin değil
 

Merhabalar,
Şimdiye kadar biz nasıl sorgulama yapılacağını önceki yazılarımızda az çok paylaşmıştık. Şimdi ise sizlere boost olayından bahsetmek istiyorum.

Boost olayı tanımladığımız sorgunun aldığı score değerinin çarpanıdır. Bu olay compound sorgularda yani birleşik sorgularda oldukça işe yarar. Diyelimki bir bool sorgusu kullandık. İçerisinde birden fazla sorgumuz var. Sorgulardan herhangi birinin sonucunun daha üst sıralarda çıkmasını istiyoruz. İşte burada bizim vermemiz, kullanmamız gereken olayımız boost olayıdır. Bu belgelerimiz aldığı score’u verdiğimiz sayıyla çarpar ve daha üst ya da alt sıralara yerleştirir. Biz burada 0 ve 1 arasında değer verirsek score küçülür. 1 den fazla değer verirsek eğer score’umuz büyür. Şöyle bir durum var. Boost değerleri birbirine çok yakın olursa istediğimiz sonuçlar çıkmayabilir. Çünkü score değeri arkaplanda birçok faktöre bağlıdır. Bu yüzden belirlediğimiz boost değerini dikkatlice ve aralarını da bu faktörleri göz önünde bulundurarak seçmek gerekir. Bir örnek yapalım.

 

{

  "query": {

    "bool": {

      "should": [

       

        {

          "match": {

            "first_name.textSearchField": {

              "query": "ahmet",

              "boost": 1.27

            }

          }

        },

        {

          "match": {

            "first_name.textSearchField": {

              "query": "hasan",

              "boost": 1

            }

          }

        }

      ]

    }

  }

}

Burada ben çalıştığım veriler arasında “Ahmet” isminin ön plana çıkması için 1.27 boost değerinden daha düşük değer veremedim. Elbette alttaki “Hasan” değerinin boost değerini 1 yaparsak oluyor. Ancak 1 den küçük değerlerlede işimizi kolayca halledebilirdik. Daha ayrıntılı bilgi için https://www.elastic.co/guide/en/elasticsearch/reference/6.3/mapping-boost.html adresini ziyaret edebilirsiniz.