Arama fonksiyonu sıralama yapmak ?
4
●140
- 22-02-2022, 01:28:49Elimizde şu şekilde binlerce cümle var ? ''Ali arabaya gitti'' bu cümleler içerisinde ilk önce ilk kelimeyi aramasını sonrasında ikinci kelimeyi aramasını ve son olarak üçüncü kelimeyi aramasını nasıl sağlayabiliriz ? Arama işlemini yaparken levenshtein() fonskiyonunu kullanıyorum. Ayrıca bu üç kelime içerisinde ilk kelimeye %80 oranında ikinci kelime %15 üçüncü kelime %5 gibi bir önem katsayısı ekleyebilirmiyiz ?
- 25-02-2022, 18:14:45Öncelikle şunu sorayım?
Sorguyu mysql üzerinde mi, elastic üzerinde mi yoksa, casandra, mongo gibi diğer nosql dbler de mi yapacaksınız?
Levenshtein algoritması çok kapsamlı bir algoritmadır. Bunu php üzerinde bir fonksiyon ile yapacaksanız performans düşer. Mysql üzerinde yapacaksanız da data'nın ne kadar çok olduğuna bağlı. Özellikle elasticsearch üzerinde bu konuda daha sağlıklı çözümler bulunuyor.
Geliştirme ortamına göre çözüm düşünelim. - 26-02-2022, 22:45:36Cevabınız için teşekkür ederim. Elastic search üzerinde yapmaya çalıştık. Ancak başarılı olamadım ilgili bir kaynak veya döküman bulamadım. Elastic search kurulumunu yaptık. Ancak aramayı dediğim şekilde optimize edemeyince başarılı sonuçlar elde edemedik. Levenshtein algoritması daha başarılı sonuç veriyordu. O yüzden onun üzerine yoğunlaştık. Elastic search arama optimizasyonu konusunda nasıl yol alacağımız konusunda fikilerinizi söylerseniz. Çok memnun olurum.eskoctr adlı üyeden alıntı: mesajı görüntüle
- 02-03-2022, 10:18:48Sadece şunu söyleyebilirim geliştirdiğim bir chatbotta kullandım, o kısımda hem php de levenshtein hemde elastic yapısını bir arada kullandım. Eğer fuzziness yapısını kavrayabilirseniz ihtiyacınıza yönelik php+elastic bütünlüğünde çözüm üretebilirsiniz diye düşünüyorum. Yani öncelikle bir kaç püf noktadan bahsedeyim.foxmulder adlı üyeden alıntı: mesajı görüntüle
1- Php ve elastic fuzziness search bağını araştırmanızı öneriyorum.
2- Elastic üzerinde tuttuğunuz verilerin tümünü küçük harfe dönüştürerek kaydedip sorgularınızı küçük harf üzerinden veya tümü büyük yapmanızı eşleştirmelerde fuzzi esnekliğini daha rahat alırsınız.
3- Adım adım her kelime için ayrı esneklik sağlamak içinde öncelikle php tarafında bunları ayırmanız daha sonra elastic üzerinde sorgulamanız gerekir. - 02-03-2022, 23:40:35Teşekkür ederim teker teker inceleyeceğim.eskoctr adlı üyeden alıntı: mesajı görüntüle