veri tabanımda her kategorinin kendine ait keyword leri var. bi arama sayfası tasarlamak istiyorum. kullanıcı arama yaptığında ilgili kategorileri sayfada listelesin. nasıl bi yol izlemeliyim?

soruldu: 03 Mar '13, 13:33

wifi's gravatar image

wifi
748384454
cevap kabul oranı: 100%

değiştirildi: 04 Mar '13, 02:09

Turgay%20Can's gravatar image

Turgay Can
8.3k63798

Aramaları buyuk veriler içerisinden ve hızlı bir şekilde yapmak için Full Text Search kullanırsanız daha iyi olur. Ya da @J2EE, dedigi yeterli...

(03 Mar '13, 13:56) AliRıza Adıyahşi ♦ AliR%C4%B1za%20Ad%C4%B1yah%C5%9Fi's gravatar image

büyük değil. ufak çaplı bi tablo

(03 Mar '13, 14:13) wifi wifi's gravatar image

Sql cümlesi ile halledebilirsin.

Bunun için arayama yapacağın tablo içindeki keyword alanını yada tablolar içindeki keyword alanları içinde aratılan keyword'ü arattırırsın.

IN

Örnek :

Select kategori from ilgilitablo kategori IN ('keyword')

Birden fazla keyword'de olabilir.

 Select kategori from ilgilitablo kategori IN ('keyword','keywoord2')

Yada LIKE

Select kategori from ilgilitablo where kategori LIKE ('%keyword%')
permanent link

cevaplandı: 03 Mar '13, 13:52

Turgay%20Can's gravatar image

Turgay Can
8.3k63798
cevap kabul oranı: 18%

değiştirildi: 03 Mar '13, 13:53

ama kullanıcının kaç keyword yazacağını bilmiyorum. mesela boğazda ucuz kahvaltı diye bi arama yapsın. ben üç cümleyide tek bi keyword gibi aramam lazım, sonra ikisini bi keyword, diğerini ikinci keyword olacak şekilde aramam lazım gibi bi mantık geliyo benim aklıma. yanılıyo muyum? 1-IN le arama yapsa 3 kelimeyi de tek bi keyword gibi arar bulamazsa boş mu döner? 2-like la arasa boğazda ucuz kahvaltı diye bi kategorim olsun istanbul ucuz bilet yazsa boğazda ucuz kahvaltı kategorisini getirir mi?

(03 Mar '13, 14:12) wifi wifi's gravatar image

Dinamik query oluşturursun. Sen diyelim "boğazda ucuz kahvaltı" aratacağın zaman. 6 tane keyword'ün olacaktır.

String aranilanKeyword = '"boğazda ucuz kahvaltı", "boğazda ucuz"," ucuz kahvaltı","boğazda kahvaltı", "boğazda","ucuz", "kahvaltı"';

bunu yazılım tarafında boşlukları baz alıp, ekip , biçeceksin sonrada query'ni oluşturacaksın.

kelimeleri yukarıdaki formata sokup parametre olarak, sorguna göndermen yeterlidir.

Select kategori from ilgilitablo kategori IN ("+aranilanKeyword +");

gibi.

IN aranılan alan içinde bu keywordlerden herhangi biri geçtiğinde o satırı getirir.

(03 Mar '13, 14:20) Turgay Can Turgay%20Can's gravatar image
1

Yada hibernate gibi bir model conroller kullanıyorsanız, doğrudan string'i bir array olarak parçalayıp (boşlukları split char olarak ayarlarsınız) sonrasında bu array'i HQL içerisine ekleyebilirsiniz..

(04 Mar '13, 03:11) dreampowder dreampowder's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×77

Soruldu: 03 Mar '13, 13:33

Görüntüleme: 678 kez

Son güncelleme: 04 Mar '13, 03:11

powered by BitNami OSQA