|   Arama Motoru Ajanları
 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 sebeple yapılmaktadır.)
 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 arka planda  ç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 sayfayı 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 İnternetin 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 çok da 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.  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. |