• 22-02-2022, 01:28:49
    #1
    Elimizde ş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
    #2
    Ö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:36
    #3
    eskoctr adlı üyeden alıntı: mesajı görüntüle
    Ö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.
    Cevabı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.
  • 02-03-2022, 10:18:48
    #4
    foxmulder adlı üyeden alıntı: mesajı görüntüle
    Cevabı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.
    Sadece ş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.

    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:35
    #5
    eskoctr adlı üyeden alıntı: mesajı görüntüle
    Sadece ş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.

    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.
    Teşekkür ederim teker teker inceleyeceğim.