Arama motoru nasıl yapılır?

384311

Hectopat
Katılım
9 Kasım 2020
Mesajlar
5.826
Makaleler
6
Çözümler
20
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.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Geri
Yukarı