Arama motoru nasıl yapılır?

Aeklink

Hectopat
Katılım
9 Kasım 2020
Mesajlar
5.819
Makaleler
6
Çözümler
20
Yer
Antalya
Google gibi arama motoru yapmak istiyorum ama tabii ki de Google gibi olması mümkün değil. Küçük çaplı ama yine de aratınca her şeyi bulabilen bir motor istiyorum. Veritabanım var ama nasıl yapacağımı bilmiyorum. HTML, CSS biliyorum. Biraz da PHP bilgim var. İnternette bulduklarım sadece veritabanına önceden girilmiş bilgiler arasında arama yapabiliyor. Bense tüm bilgiler arasında arama yapmak istiyorum. Bunu nasıl yapabilirim? Verileri nereden çekmem lazım?
 
Temel anlamada basit ve çalışır bir sistem ede etmek için öncelikle linkleri takip eden bir crawler sistemi yazmanız gerekiyor. Bununla sayfaları gezip html çıktısını php deki strip_tags() fonksiyonundan geçirip metin olarak mysql'e kaydedebilirsiniz. Ardında da full text search index oluşturup bunun üzerinden arama yaptırabilirsiniz. Basit ve çalışır bir sistem olur ama tabi ki puanlama, ölçeklendirme gibi en temel arama motoru özelliklerine sahip olmaz. Bunlar için doğal dil işleme gibi konulara bakmanız gerekiyor. Özellikle birbirine yakın anlamlı kelimeleri tespit edip bunları birbiriyle ilişkilendirmek için çok daha detaylı işlemler var. Bunlar artık işin akademik boyutu oluyor. Sırf deneme amaçlı bir şey ise php + strip_tsgs() + mysql tabanlı full text search iş görür gibi.
 
Temel anlamada basit ve çalışır bir sistem ede etmek için öncelikle linkleri takip eden bir crawler sistemi yazmanız gerekiyor. Bununla sayfaları gezip html çıktısını php deki strip_tags() fonksiyonundan geçirip metin olarak mysql'e kaydedebilirsiniz. Ardında da full text search index oluşturup bunun üzerinden arama yaptırabilirsiniz. Basit ve çalışır bir sistem olur ama tabi ki puanlama, ölçeklendirme gibi en temel arama motoru özelliklerine sahip olmaz. Bunlar için doğal dil işleme gibi konulara bakmanız gerekiyor. Özellikle birbirine yakın anlamlı kelimeleri tespit edip bunları birbiriyle ilişkilendirmek için çok daha detaylı işlemler var. Bunlar artık işin akademik boyutu oluyor. Sırf deneme amaçlı bir şey ise php + strip_tsgs() + mysql tabanlı full text search iş görür gibi.
Yani şu an ne yapmalıyım bildiklerim dahilinde?
Crawler yazamam mesela.
@Tortue yardım eder misin?
 
Son düzenleme:
Yukardaki arkadaşa katılıyorum. Bir arama motorunu sıfırdan geliştirmek şahıs için ağır ve kaldırılması zor bir yüktür. Konuyla iligli çok fazla yorum yapamayacağım.

PHP'de bir bot hazırlayıp mevcuttaki arama motorlarından veri çekebilirsin. Bu verileri analiz ettirip, belirli filtrelerden geçirdikten sonra veritabanına kayıt edebilirsin.
 

Geri
Yukarı