Toggle Width

EndFRM
 
Konuyu Oyla:
  • Toplam: 21 Oy - Ortalama: 2.14
  • 1
  • 2
  • 3
  • 4
  • 5
Php İle Arama Motoru Hazırlamak
Oyuncu Çevrimdışı Unity 3d - Ses & Dj
*
Yeni Üye
Üye No: 129
Konu Sayısı:
Yorum Sayısı: 2,693
811
Yorum: #1
Php İle Arama Motoru Hazırlamak
Php İle Arama Motoru Hazırlamak

Bir çok kişinin kendi sitesi için bir arama motoru oluşturmak istediğini gördüğüm için PHP ile bu işin nasıl yapılacağına baktım.Bir kaç kütüphane gezdikten sonra en sonunda aradığım örneğe bir kitapta rastladım.


Yalnız küçük bir talihsizlik ile kitaptaki örneğin bir çok hata içerdiğini gördüm.Bir tarafı düzeltiyorsunuz baska bir yerde hata veriyor ve anlamsız sonuçlar ortaya çıkıyordu.Bende en az 10-15 noktaya "echo ()" ile değişken sonuçlarını belirli noktalarda işleyerek ve "gettype ()" fonksiyonu ile değişkenin yapısına bakarak sorunun nerede olduğunu anlamaya çalışıyordum.


Once degiskenleri,yapilarini,davranislarini ogrenip sonra ava cikmak daha mantikli gelmisti...


Simdi kitaptaki ornegin yapisini inceleyelim.ben bu ornekle ilgili yaklasik 1 haftadir calisiyorum.Hatalari bulup cikarirken eglendigimi soyleyemem ama cok sey ogrendim.


Ilk olarak belirtmeliyim ki yazar gercekten usta bir programci ve neden bu kadar cok hata yaptigini halen cozebilmis degilim.Ben ozellikle betik'teki degisken isimleri ve aciklamalara dokunmadim ki duzelltigim ve oldukca gelistirdigim bu ornegi ona da gonderirken ikinci bir isle ugramayayim istedim.


Yazar bir web sitesini indekslemek ve bu indekse dayali bir arama motoru kurabilmek icin <meta> etiketlerinden yararlanmis.Zaten tum arama motorlarida siteleri o <meta> etiketlerine gore indeksliyor.


<meta> etiketleri <head> ve </head> etiketleri arasina yaziliyor ve asagidaki gibi bir yapisi bulunuyor :



<meta name="keywords" content="kelime1,kelime2,kelime3,vb">
<meta name="description" content="Buraya ise sayfanin aciklamasi geliyor...">



Yani her web sayfanizin,kendisi ile ilgili bir anahtar kelime ve aciklama alanina sahip olmasi gerekiyor.HTML ile bu saglandiginda siteyi indeksleyecek program bu <meta> etiketlerinin icinde yer alan, "keywords" yani anahtar kelimeler ve "description" denilen aciklama alani ile sayfayi indeksliyor ve veritabaninda o sayfa ile ilgili bir satir aciyor.


Bundan ayri olarak veritabanina o sayfanin isminide yaziyor ve arama yapilirken sayfanin ismi alaninda da aranan kelime icin bir eslesme olup olmadigina bakiliyor.



Boylece "keywords","description" ve "filename" yani sirasi ile "anahtar kelimeler","aciklama" ve "dosyaadi" olarak uc alan veritabaninda yer aliyor.Birisi bir seyler aradiginda sayfalarla ilgili sonuclar veritabaninda karsilastiriliyor ve uyan sonuclar ekrana geliyor.


Hazirladigimiz program veritabanindan bagimsiz calisiyor.yani siz isterseniz MySQL isterseniz ORACLE isterseniz PostgreSQL veritabanini kullanabilirsiniz.Program icinde DB.php isimli bir sinif tarafindan veritabanina baglanti gerceklestiriliyor.Bu dosya PHP ile berber geliyor ve veritabani bagimsiz uygulama yazmak icin kullaniliyor.Programin yapisina bakinca nasil boyle bir islemin saglandigini gorebilirisiniz.


Programin ayarlar dosyasindan istediginiz veritabani ismini yazmaniz programin o veritabani ile ilgili fonksiyonlari kullanarak veritabani ile etkilesime gecemesini sagliyor...


Hemen hemen butun ayarlar bir tek ayar dosyasindan yapiliyor ama yinede bazi ayarlar hakkinda konusmak istiyorum.


Ilk olarak sitenizdeki butun dosyalar sizin belirlediginiz bir klasor baz alinarak ice dogru gidecek sekilde taraniyor.Bu tarama sirasinda sizin belirlediginiz dosya uzantisina sahip dosyalar indeksleniyor.Ornegin yanlizca sonu .html ile biten dosyalarin indekslenmesini yada sadece sonu .php ile biten dosyalarin indekslenmesini saglamak mumkun oluyor.


Asagiya ayar dosyasinin bir ornegini yaziyorum :



dbtype:mysql ; SQL Sunucu ne tip bir veritabani?
Host:localhost ; SQL Sunucu Nerede?
User:turkphp_user ; SQL Kullanici Adi
Password:****** ; SQL Sifresi
database_name:turkphp_veritabani ; Veritabani ismi?
filters:html,htm,php,php3,php4 ; Indekslenecek dosya uzantilari?
saveresults:yes ; Sonuclari kaydet?
basedir:/home/turkphp/public_html ; Indeksleme icin temel alinacak klasor?



Tum ayarlarin yanina turkce olarak ne anlama geldigini yazdim.


Simdi de veritabani icin tablo yapisini inceleyelim :


Tum kayitlari tutmak icin bir tek tablodan yararlanmak yetiyor.Asagidaki SQL yapisini kendi veritabani sunucunuz uzerinde calistirin,



CREATE TABLE sites_table (
id INT(4) PRIMARY KEY AUTO_INCREMENT,
filename VARCHAR (70),
keywords TEXT,
description TEXT
);




Guzel simdi "sites_table" isminde bir tabloya ve o tablonun icinde yer alan tablo alanlarini yaratmis oldunuz.Sitemizdeki tum dosyalar indekslendikten sonra bu alanlara ilgili veriler yazilacak.

Not: Alıntıdır. Sizde kendinizi geliştirirseniz, bu örnek veren adam gibi sonuçlar çıkarabilirsiniz.

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
07-07-2012 20:01
Bul Alıntı
ofgms Çevrimdışı Yeni Üye
*
Yeni Üye
Üye No: 437
Konu Sayısı:
Yorum Sayısı: 210
54
Yorum: #2
RE: Php İle Arama Motoru Hazırlamak
zor ve güzel bir dile benziyor...
07-07-2012 20:17
Bul Alıntı
Oyuncu Çevrimdışı Unity 3d - Ses & Dj
*
Yeni Üye
Üye No: 129
Konu Sayısı:
Yorum Sayısı: 2,693
811
Yorum: #3
RE: Php İle Arama Motoru Hazırlamak
Evet. Aklına gelebilecek herşeyi yapabilirsin gibi. C dilini php yi kökten öğrendikten sonra başlasan tam anlamıyla çözersin Göz kırpma

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
07-07-2012 20:21
Bul Alıntı
Mucit Çevrimdışı Bilim, Teknoloji ve PC
*
Emekli Üye
Coder
Senarist
Üye No: 11
Konu Sayısı:
Yorum Sayısı: 2,251
410
Yorum: #4
RE: Php İle Arama Motoru Hazırlamak
sağol işgörür

Think different. Steve JOBS

İyi sanatçılar kopyalar, büyük sanatçılar çalar. Pablo PİCASSO

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Kendi Çalışmalarım:
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

William Shakespeare in Kral Lear adlı kitabı olan bana ulaşsın!
Ben Türk55 im.
08-07-2012 13:19
Bul Alıntı
Oyuncu Çevrimdışı Unity 3d - Ses & Dj
*
Yeni Üye
Üye No: 129
Konu Sayısı:
Yorum Sayısı: 2,693
811
Yorum: #5
RE: Php İle Arama Motoru Hazırlamak
Anlatana teşekkür etmek gerekiyor Gülümseme

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
08-07-2012 16:12
Bul Alıntı
Mucit Çevrimdışı Bilim, Teknoloji ve PC
*
Emekli Üye
Coder
Senarist
Üye No: 11
Konu Sayısı:
Yorum Sayısı: 2,251
410
Yorum: #6
RE: Php İle Arama Motoru Hazırlamak
teşekkürler anlatan Açık Ağızlı Gülümseme

Think different. Steve JOBS

İyi sanatçılar kopyalar, büyük sanatçılar çalar. Pablo PİCASSO

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Kendi Çalışmalarım:
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

William Shakespeare in Kral Lear adlı kitabı olan bana ulaşsın!
Ben Türk55 im.
10-07-2012 19:22
Bul Alıntı
Oyuncu Çevrimdışı Unity 3d - Ses & Dj
*
Yeni Üye
Üye No: 129
Konu Sayısı:
Yorum Sayısı: 2,693
811
Yorum: #7
RE: Php İle Arama Motoru Hazırlamak
Senin sitelerle ilgili 2. sorun bu cevabı iş görüyor mu peki?

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
15-07-2012 17:17
Bul Alıntı


Hızlı Menü:


Şu anda bu konuyu okuyanlar: 1 Ziyaretçi