Arkadaşlar merhabalar,
Yerel arama motoru projemiz için projeyi üstlenecek ve teslim edecek kişiler arıyoruz.
Örnek vermek gerekirse elimizde aşağıdakine benzer 25.000 adet web sayfası ve bu sayfalara ait 125 milyon alt URL var... (geleceğe yönelik düşünülerek oluşturulacak yapıda verdiğim sayıların 5-6 katını desteklenmesini istiyoruz)
https://www.r10.net/php/1172376-gunde...mumkun-mu.html
Bizim yapmak istediğimiz de bu 25.000 adet web sayfasında almak istediğimiz alanların taglarını sisteme manuel olarak gireceğiz, sonra bot(lar) tüm url'lere giderek verdiğimiz taglar arasındaki verileri alacak ve veritabanına kaydedecek. (Başlık - Resim - Açıklama) gibi.. Resim yok bu arada örnekti sadece. Herhangi bir resim veya video çektirmeyeceğiz. Tamamen text tabanlı olacak.
Eğer gidilen url'ye daha önce girilmiş ise tekrar tekrar tüm veriyi taratmaktansa, (iş yükünü hafifletmek için) sadece konuda değişiklik var mı diye baktırarak update ettireceğiz. Yani ikinci girişlerde sadece tek bir tagı aldıracağız. Eğer sistem ikinci kez aynı url'ye giriyorsa tek tagı alıp çıkacak. (değişiklik olmasa da update olabilir, değişikliği algılatmak sistemi çok yorabilir.) Bu arada geçmişte girdiği bir siteye ulaşamıyor veya ilk kez giriş yapacağı bir siteye ulaşamıyorsa 404vs.. gibi hata kodunu alarak geri dönmesini istiyoruz. Sonraki yapacağımız manuel değerlendirme ile bir süre sonra bot(lar)ı sisteme tekrar gönderebiliriz.
Daha da açıkcası işin en genel hali ise, bir arama motoru yapmak istiyoruz. Fakat sadece tek bir alanda tarama yapacak. Tüm interneti taratmaya zaten gücümüz yetmez. Bizim amacımız blogları taratarak DB'ye kaydetmek. Yerel bir kütüphane oluşturmak peşindeyiz.
Beni burada korkutan 2 temel unsur var...
1. 25bin adet sitenin ve 125 milyon adet URL'nin haftada en az 1 kere update olması gerekiyor. Site yayından kalkmışsa konuların silinmesi, anlık bir ulaşamama vs. karşı ilk aşamada pasif hale gelmesi ve aramalardan düşmesi gerekiyor. Haftada 125 milyon url de günlük kabaca 20 milyon url yapıyor. Ayrıca 25bin sitenin hergün kontrol edilerek site kapandığında sistemde pasife düşürmek gerekiyor.
Kaba bir örnekle sistem şu şekilde işleyecek,
İLK AŞAMA - Veri Toplama
1. Blog sahibi isterse sitesini arama motoruna ekleyecek,
2. Yeni eklenen her siteyi anlık kontrol ederek, uygun bulduklarımızı db'ye ekleyeceğiz.. Sitenin bulunduğu ülke ve şehir de aynı zamanda eklenecek.
3. Yeni eklenen sitelere ait alt url ve alınmasını istediğimiz tagları sisteme gireceğiz. Ortalama her sitede 7000 civarı konu bulunmakta.
4. Botlarımız giderek siteyi tarayacak ve bizim belirttiğimiz tagları alacak. ( Başlık - Açıklama - Resim ) gibi düşünün..
5. Alınan veriler veritabanına kaydedilecek.
İKİNCİ AŞAMA - Verileri Sunma (Arama Motoru)
1. Sitedeki aramalar sadece başlıklara göre yapılacak. Konu içeriğini taramayacağız.
2. Aynı başlığa sahip konu birden çok sitede var ise gruplama yapabilmeli. Burada kaba bir örnek sunmak istiyorum;
Veritabanımızda 5 adet site var; SİTE1 - SİTE2 - SİTE3 - SİTE4 - SİTE5
Kullanıcı sistemde; PHP KODLAMA diye bir terim arattı...
Veritabanındaki sitelerin içerdiği konular da şu şekilde (sadece başlığa bakıyoruz)
SİTE1 : PHP KODLAMA
SİTE2 : PHP KODLAMA
SİTE3 : PHP KODLAMA TEKNİKLERİ
SİTE4 : PHP KODLAMA TEKNİKLERİ
SİTE5 : PHP KODLAMA DERSLERİ
burada sonuç olarak vermek istediğimiz bu 5 sitenin alt alta yazılmış şekli değil, gruplanmış şekli olacaktır.;
PHP KODLAMA (2 Sitede Mevcut) (tıklandığında mevcut 2 siteyi gösterecek)
PHP KODLAMA TEKNİKLERİ (2 Sitede Mevcut) (tıklandığında mevcut 2 siteyi gösterecek)
PHP KODLAMA DERSLERİ (zaten tek site olduğu için direk link olabilir.)
1. Yapılacak işte kullanılacak teknoloji hakkında ufak bir bilgi,
2. Veritabanı ve kodlama yapısı ile cachleme yapısının mevcut yükü kaldırabilmesi adına uygulanabilecek tekniklerle ilgili ufak bir bilgi,
ile birlikte
Konu ile ilgili süre/maliyet tekliflerinizi sunarsanız çok sevinirim.
Yerel arama motoru projemiz için teklif istiyoruz.
24
●1.706
- 13-12-2013, 01:26:46Merhaba;
Bu sistem için öncelikle işi yapacak arkadaşın kesinlikle bid data mantığı ile bu işi yapması gerekiyor. hadoop sistemlerine hakim olması ve tercihen java ile yazılması gerekiyor. Öteki türlü column base veritabanları belli bir süre sonra text search de tıkanacaktır. hadoop bu sistemler için enfes bir çözümdür ve google da bigtable-hadoop kullanır. facebook ve twitter gibi sistemlerde hadoop kullanır.
Sadece yardımcı olmak için tavsiyelerimi yazmak istedim. - 13-12-2013, 02:15:42Üyeliği durdurulduVerdiğiniz bilgiler için çok teşekkür ederim.yLmz adlı üyeden alıntı: mesajı görüntüle
- 13-12-2013, 03:13:46kodlaması basit de, bir sürü server satın almanız lazım. yazılımla bitmiyor iş. hem tarama yapmak için hemde arama yapmak için. yılmaz kardeşim hadop madop önemsiz. tablo mimarisini düzgün yazarsan hiçbirşey olmaz. işte sorun bu taramayı yapacak serverlara lere geliyor.
- 13-12-2013, 03:32:41Üyeliği durdurulduyLmz adlı üyeden alıntı: mesajı görüntülepyromus adlı üyeden alıntı: mesajı görüntüle
Görüşünüz için teşekkür ediyorum. Tabi ki bizler de farkındayız bazı şeylerin.
Fakat şahsen şahit olduğum bir olayı anlatayım size, arkadaşım Türkiye'de çok büyük bir şirkete güzel de bir ücret ödeyerek bir haber sitesi yaptırdı.. Site ortalama 200K hite geldiğinde sistem çöktü. Örnek olarak sunucusu i7 işlemcili ve 64gb ramli idi.
Aynı siteyi gerçekten işi bilen kişiler devraldı ve optimizasyon ile i5 işlemci 16gb ramde %100 sorunsuz bir şekilde üstelik 250K ortalama hitle çalıştırdılar.
Burada bizim için kaynakları da son derece verimli kullanmak önemli. Bu yüzden bende Hadoop ve MongoDB ile birlikte PHP yerine Phyton veya C (perl, java) taraftarıyım. Lakin sizin kadar uzman değilim ve olamam da. Sadece araştırmalarım sonucunda edindiğim bir görüş bu. - 13-12-2013, 11:20:35
- 13-12-2013, 15:09:18Üyeliği durdurulduMerhabalar..Ureticy adlı üyeden alıntı: mesajı görüntüle
Oracle tabi ki yeterliliği konusunda tartışmaya açık değil. Fakat benim kafama takılan, MongoDb, Hadoop vs. varken neden oracle tercih edilmeli?
Ben sınırlı bilgimle bir bot oluşturdum. 24 saat içinde tek sunucu üzerinden 3.5 milyon URL taratabildim. (multi-curl) Oracle haricinde, mongodb ve hadoop hakkında görüşlerinizi de alabilirsem çok sevinirim. Teşekkürler.L0pht adlı üyeden alıntı: mesajı görüntüle
Açıkcası bende hadoop ve mongodb arasında gidip gelmekteyim.victories adlı üyeden alıntı: mesajı görüntüle