Soru & Cevap

Arama yaparken kelimenin yanlış yazılması

09.11.2015 - 01:23

Diyelimki ben programda (sql ile) "fasulye" kelimesini içeren kayıtları listelemesini istiyorum. Ama kullanıcı yanlışlıkla "fasuye" yazdı. Dolayısı ile "fasulye" kelimesini içeren kelimeleri bulamayacak.

Gelelim soruma. Ben istiyorum ki kullanıcı yanlışlıkla "fasuye" yazsa bile benzediği için "fasulye" kelimesini içeren kayıtların listelemesi.

Örneğin googlede "fasuye" yazılsa bile çıkan sonuçlar "fasulye" ile ilgili sonuçlar.

Sql sorgu ile bunu yapmanın bir yolu var mı? (Like kullanın demeyin ama bana)

3 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user sakelestemur
sakelestemur
10.11.2015 - 02:46

Levenshtein mesafesini kullanabilirsin.. Ya da bir metin dosyası içine sözlük oluşturup. Arama sonuçlarını sözlükteki kelimelerle eşleştirmeye çalışırsın.. String içindeki harflerin çoğunluğu, arama sonucundakine benziyorsa, kelimenin sözlük içindeki olduğunu algılatıp, doğru olanı sonuç olarak sunabilirsin.

Spelling Corrector function vs. gibi bir arama ile daha kesin sonuçlara ulaşabilirsin. Şurada Python için yazılmış bir öğretici içerik bulunuyor:

http://www.norvig.com/spell-correct.html

Rabia Kösem
25.11.2015 - 12:48
sql veritabanında kullanılan soundex fonksiyonu var. Ama bu fonksiyonu sqlite de sorgu yaparken kullandığımda hata alıyorum.(no such function). Buradaki linkte sql de kullanımı var. Fakat yabancı siteler dahil android için bu fonsiyonun kullanıldığına dair bir örnek yok. Sizin verdiğiniz yöntemle sorgu uzun sürecektir. Veri tabanında kayıt bir hayli fazla. Başka bir fikriniz varmı.