rama Motoru Ajanlari (Search Engine Spiders)

Özet
Internet günden güne büyüyor, milyonlarca dosya ve resim barındırıyor. Bununla birlikte insanlar bilgilere ulaşabilmek için çevrimiçi servislere bel bağlıyorlar. Tabi ki bu bilgilere en sağlıklı ulaşabilecekleri servisleri tercih ediyorlar. Bu nedenle Arama Motorları büyük önem kazanıyor. Arama motorları dediğimizde ilk akla gelen internet tarayıcımızda gördüğümüz sayfa olsa da, aslında işin arka tarafında birçok servis çalışmakta. Bu servisler kullanıcıların ulaşacağı verilerin sağlıklı, taze ve mantıklı olmasını sağlıyor. Arama Motoru Ajanları (Search Engine Agents) da bu servislerin bel kemiğini oluşturuyor. Temel olarak aranacak olan bilgileri tarayıp, düzgün ve belirli bir mantık çerçevesinde kaydediyorlar. Bu yazıda Arama Motoru Ajanlarının çıkış nedenleri ve mimarisi hakkında bilgiler bulunmaktadır.

Giriş
Bizim arama motorlarında arama yapmamızdan önce o dosya ve belgelerin bir şekilde bulunup kaydedilmesi gerekiyor. Bunlar için Ajanlar veya örümcekler isminde özel yazılımlar geliştiriliyor. Bu yazılımlar internet adreslerini ve içeriklerini kaydediyorlar. Bu kayıtların yapıldığı sayfalardaki linkleri takip ederek sayfadan sayfaya geçiyorlar. Böylelikle milyonlarca siteye ulaşabiliyorlar. Bu programlar otomatik olarak her bulduğu linkleri gezmektedirler.

Bu ajanların bulduğu web adreslerinin içeriğini kaydeden başka ajanlarda mevcut. Bu ajanlarda kaydettikleri verileri belirli mantıkta sıkıştırıp saklamaktadır.

Bu ajanların dışında siteler için öncelik sırası belirlemek amacıyla çeşitli ajanlar çalışmaktadır. Bunlar o siteye ne kadar link verildiği, bu linklerin karşılığının olup olmadığını karşılaştırarak o site için bir önem puanı vermektedir. Bu sayede önemli görülen siteler aramalarda üst sıralarda yer alabilmektedir.

Ajanlar Nasıl Çalışır?
Ajanlar arama motorlarının birer parçası olarak arkaplanda çalışmaktadır. Performans ve güvenilirlik en önemli noktalar. Ajanların çalışma performansı internet bağlantısının hızına ve bağlandığı sitenin hızına göre değişmektedir. Temel olarak ajanlar aşağıdaki adımları takip etmektedir:

Sayfayı tamamen kaydet.
Kaydedilen sayfadayı parçalara ayırarak içerisindeki tüm linkleri al.
Alınan tüm linkler için işlemi tekrar et.
Ajan herhangi bir Internet veya Intranet adresinden başlayarak sayfaları kaydeder. Her kaydettiği sayfada yeni adresler ile karşılaştığı için sürekli olarak kayıt işlemine devam edecektir.

Problemler
Internetin büyüme hızı ve web sayfalarının sayının artması altında örümceklerimiz ezildi.Büyük çapta hizmet gösteren ajanlar yüksek sayıda web adresi (URL) olması sebebiyle çeşitli problemlerle karşılaşmaya başladılar. Hazır olan tüm sitelerini gezip, taramak ve bunları hafızaya almak çok zor olmaya başladı. Diğer bir yandan bu toplanan verileri diskte yazmakta performans açısından çokda verimli olmamaya başladı. Milyarlarca web sitesini kaydedebilmek için terabytelarca iyi yönetilen disk alanı gerekiyor.

Evre Takası
Sağladıkları avantajlar ile birlikte ajanlarımızın yol açtığı sorunlarda meydana gelmeye başladı. Aynı anda birçok sayfası kaydedilen bir sunucuda fazladan bir yük binmeye ve yavaşlamalara yol açmaya başladı. Bu nedenle daha kibar ajanların hazırlanması gerekti, aynı anda sunucudan fazla veri çekmemeleri için.

Ajanların aynı sunucu üzerinden aynı anda veri çekmesini düzenlemek amacıyla “Evre Takası (Phase Swapping)” metodunu kullanıyoruz. Takas etmek problemin tek çözümü olmasa da başarılı çözümlerden bir tanesi.

Aşağıdaki şekildeki gibi aynı sunuculardaki verileri parçalara ayırıyoruz. Daha sonra aynı satırda olan adreslerden sadece bir tanesine gidip, diğer satıra gidiyoruz. Zamanımız arttığı için sütun sayımızı da artıyoruz. Bunun neticesinde aşağıda ki şekilde görülen çapraz şekilde giden bir yapı oluşuyor. Bu yapıyla birlikte aynı anda aynı sunucu üzerinden veri çekmemiş oluyoruz.

Evre Takası

Site Adresi Sıkıştırma (URL Compression)

Ajanlarımız tüm adresleri kaydetmek durumundalar. Bunun için bu adresleri saklarken bir sıkıştırma algoritması kullanmamız gerekiyor, bu algoritma hem hızlı saklanabilmeli, aranabilmeli aynı zaman hızlı geri dönüşüm sağlayabilmeli.

Kullanacağımız algoritma sunucuların birbirleriyle bağlanma ilkelerine benziyor. Algoritmamız da site adresleri kök (root) ve kuyruk (tail) olmak üzere ikiye ayrılıyor. Bir kök dizinin altında ağaç yapısı şeklinde kuyruklar sıralanıyorlar, bu kuyruklar sıralanırken çeşitli köklere bağlanabiliyorlar. Aynı site için birden fazla adres olabileceği içinde yansılar ayrıca belirtiliyor, böylece farklı adreste yayın yapan iki farklı site 2 kez kaydedilmemişte oluyor.

Arama Motorları ;Bilgi Tekrarları

Anahtar Kelimeler
Örümcek (Spider), İndeksleyici (Indexer), Depolama (Repository), Döküman İndeksleyici (Document indexer), Robot

Kaynaklar
* High Performance Large Scale Web Spider Architecture, Kasom Koht-arsa ve Surasak Sanguanpong
* A Bandwidth Friendly Search Engine, Clare Bradford ve Ian.W.Marshall
* Exploiting a Search Engine to Develop More Flexible Web Agents, Shou-de Lin ve Craig A. Knoblock
* How search engine work and a web crawler application, Monica Peshave
* [url]http://www-db.stanford.edu/~backrub/google.html[/url]

*** Bu makale alıntıdır. Hasan Yaşar’a çok teşekkür ederiz. Orijinal makaleyi aşağıdaki linkten edinebilirsiniz:
Arama Motoru Ajanlari (Search Engine Spiders)

Beğeniler: 0
Favoriler: 0
İzlenmeler: 403
favori
like
share