Merhaba arkadaşlar,
Örneğin, www.xyz.com/index.asp?aranacak=kilic dediğimizde like '%" &trim(aranacak)&"%' şeklinde veri tabanında arama yaptırıyorum; fakat veri tabanında kilic değil de kılıç var ve bu yüzden aranan şey bulunamıyor. Ama mesela Google'da kılıç da yazsanız kilic da yazsanız yine o kılıç'ı aratmak istediğimizi anlıyor ve doğru sonuç gösteriyor.
ASP'de bu şekilde bir arama yaptırabilmek mümkün mü? Umarım ne demek istediğimi anlatabilmişimdir. Şimdiden teşekkürler...
ASP ile Google tarzında arama yapmak
12
●1.668
- 22-02-2009, 13:15:46Eposta Aktivasyonu GerekmekteŞu Mantığı Kullan
Aranan Kelimeyi Saydır. bir Döngü Kur , 0 dan sayılan sayıya kadar. Tüm Karakterleri Kontrol Ettir eger karakter "c" ise "ç" olarak değiştirerek tekrar arama yaptırmalısın. - 22-02-2009, 14:07:16Üyeliği durdurulduTeşekkürler. Soruyu farklı bir açıdan sorayım bir de. Aslında benim yapmak istediğim şöyle bir şey:
1. Veri tabanımda her yazı için etiketler tablosu var ve bu tabloda yazıyla ilgili etiketler virgülle ayrılmış şekilde bir arada duruyor. Örneğin; "Kılıç, Mılıç, Araba, Otobüs"
2. Ben bunları sitemde ilgili yazının altında etiketler tablosunda virgüllerden ayırarak yansıtıyorum ve her ayrılan etikete örneğin "etiket.asp?aranacak=kilic" olarak bağlantı veriyorum.
3. Birine tıklandığında, açılan sayfanın başlığı (title) request.querystring ile aranacak'ı alıyor ve yazıyor. Ayrıca, yine "aranacak" için LIKE kullanarak etiketler tablosunda arama yaptırıyorum.
İşte, benim yapmak istediğim, title'da "kilic" değil de "Kılıç" yazılması ve arama sonucunun sağlıklı bir şekilde görüntülenebilmesi. Mesela WordPress'te sistem böyle. Bunun ASP'de yapılma imkânı var mı? - 22-02-2009, 14:08:01Üyeliği durdurulduBir de soundex sistemi var, ama o da çok karışık ve hantal gibi geldi. http://tr.wikipedia.org/wiki/Soundex
- 22-02-2009, 17:31:12Kimlik doğrulama veya yönetimden onay bekliyor.Sanırım istediğin gibi birşey yaptım.
test ettim çalıştı.
<%
Set Baglanti=Server.CreateObject("Adodb.Connection")
Baglanti.Open "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("db/ara.mdb")
ara = request("aranacak")
ara = replace(ara,"i","%")
ara = replace(ara,"c","%")
ara = replace(ara,"g","%")
ara = replace(ara,"s","%")
ara = replace(ara,"o","%")
ara = replace(ara,"u","%")
Set rs=baglanti.Execute("Select * from ara where ara like '%"&ara&"%' ")
response.write rs("ara")
rs.close
set rs = nothing
%>
kolay gelsin - 22-02-2009, 18:07:24Üyeliği durdurulduŞu anda biraz kurcaladım ve yorgunluktan sorgu kısımlarını atlamışım. Evet, şimdi çalışıyor. Çok teşekkür ederim denom. Ufak hatalara sahip olsa, bazen ilgisiz şeyleri gösterse de sorun değil.
Arama kısmı şu anda tamam, birinci aşamayı hallettik
Peki bir de title kısmında nasıl yapabiliriz benim yapmak istediğimi?
- 02-03-2009, 20:02:55Üyeliği durduruldusoundex sql de çalışır ve arama yoğunluğu için kullanılır. konuyla pek alakası yok..IsaSARI adlı üyeden alıntı: mesajı görüntüle
ama en mantıklı çözüm şimdilik replace ile karakter değişimi ile kontrol etmek gibi görünüyor. - 02-03-2009, 20:05:29Üyeliği durdurulduSanırım en iyisi replace, ama o zaman da çok fazla ilgisiz sonuç çıkarıyor. Örnek: yalin unluler | İsa SARI - Kişisel Kimlik Sitesi
Buna nasıl bir çözüm bulabiliriz?
Peki bir de title kısmında nasıl yapabiliriz benim yapmak istediğimi?