Menü
ücretsiz
Kayıt
Ev  /  problemler/ 8 arama motoru robotları ne tür işler yapar. Web'de Bilgi Bulma

8 arama motoru robotları ne iş yapar. Web'de Bilgi Bulma

Mevcut yüksek eğitim - masaj terapisti eğitimi.

İnternette yüz milyondan fazla kaynak var ve milyonlarca gerekli sayfa bizim tarafımızdan asla bilinmeyecek. Bu okyanusta ihtiyacımız olan damlayı nasıl bulacağız? Yardımımıza geldiği yer burasıdır. aramak ah makine. Bu örümcek, ve yalnızca o, web'in neresinde olduğunu bilir.

Aramak yeni makineler İnternet ancak bunlar, ihtiyacınız olan bilgileri bulmanıza yardımcı olmak için özel olarak tasarlanmış sitelerdir. küresel ağ Dünya çapında Ağ. Hepsi için aynı olan üç ana fonksiyon vardır. aramak yeni makineler:

- aramak oviks verilen anahtar kelimelerle internette "arama";
- dizine eklenen adresler aramak kelimelerle birlikte ovikami;
- indekslenmiş web sayfaları tabanı oluşturur; aramak oviki, kullanıcılara aramak ve anahtar kelimeler veya bunların kombinasyonları.

Birinci aramak Hoviki günde 2.000'e kadar istek aldı ve yüz binlerce sayfayı dizine ekledi. Bugün, günlük istek sayısı yüz milyonlarca sayfaya ve on milyonlara ulaşıyor.

P kadar arama motorları Dünya çapında Ağ.

Birinci aramak ovikami İnternet ve "gopher" ve "Archie" programları vardı. Bağlantıda bulunan dosyaları indekslediler İnternet için süreyi sürekli olarak azaltan sunucular aramak gerekli belgeler. 1980'lerin sonunda, çalışma yeteneği İnternet Archie, gopher, Veronica ve benzerlerini kullanma yeteneğine inmedi aramak yeni programlar.

Bugün en çok talep edilen bölüm oldu İnternet ve çoğunluk İnternet kullanıcılar yürütür aramak sadece Dünya çapında Ağ (www).

Robot- örümcek

Kullanılan robot programı aramak yeni makineler olarak da adlandırılır "örümcek", örümcek(örümcek), we-resource sayfasında bulunan kelimelerin bir listesini oluşturma işlemini gerçekleştirir. süreç denir Web taraması(emekleme). Aramak yeni örümcek diğer pek çok sayfaya bakar, yararlı kelimelerin bir listesini oluşturur ve düzeltir, örn. bir anlamı olan ağırlık.

yolculuk aramak ağdasın örümcek (örümcek) en büyük sunucu ve en popüler web sayfalarıyla başlar. Böyle bir siteyi atlayıp bulunan tüm kelimeleri dizine ekledikten sonra, bulunan bağlantıları kullanarak diğer siteleri taramaya gider. Bu sayede robot örümcek tüm web alanını yakalar.

Google'ın kurucuları Sergey Brin ve Laurence Page, Google'ın çalışmalarına bir örnek veriyor. örümcek ov. Bir kaç tane var. Aramaküç başlar örümcek ben miyim. Bir örümcek aynı anda 300 sayfaya kadar bağlantıyı destekler. Pik yük, dört örümcek ve yaklaşık 600 kilobayt/sn trafik oluştururken saniyede yüz sayfaya kadar işleme kapasitesine sahiptir. Açık şu an, bunu okuduğunuzda belki rakamlar size gülünç gelecektir.

Arama motoru robotu için anahtar kelimeler

Genellikle bir web kaynağının sahibi dahil olmak ister. aramak gerekli yeni sonuçlar aramak ah sözler. Bu kelimeler denir anahtar S. Klyuchev Kelimeler bir web sayfasının içeriğinin özünü tanımlar. Ve Meta Etiketler buna yardımcı olur. Daha sonra arama robotuna bir seçenek sunarlar. anahtar Sayfayı indekslemek için kullanılan kelimeler. Ancak, sayfanın içeriğiyle ilgili olmayan popüler sorgulara meta etiketler eklemenizi önermiyoruz. Arama motoru botları bu fenomenle savaşıyor ve meta etiketleri atlarsa şanslısınız. anahtar bir başka deyişle sayfaların içeriği ile örtüşmemektedir.

Meta etiketler, şu durumlarda çok yararlı bir araçtır: anahtar Bunların ilk kelimeleri sayfanın metninde birkaç kez tekrarlanır. Ancak aşırıya kaçmayın, robotun sayfayı bir kapı olarak alma olasılığı vardır.

Arama motoru indeksleme algoritmaları

algoritmalar aramak Hovikler, nihai sonucun etkinliğine odaklanır, ancak herkesin buna farklı yaklaşımları vardır. Lycos aramak Yeni robotlar, başlıktaki (başlık), bağlantılardaki (bağlantılardaki) kelimeleri ve sayfada sık kullanılan en fazla 100 kelimeyi ve sayfa içeriğinin ilk 20 satırındaki her kelimeyi indeksler.

Googlebot, kelimenin sayfadaki konumunu (body öğesinde) dikkate alır. gibi hizmet bölümlerinin sözleri altyazı, başlık, meta etiketler et al., "a", "an" ve "the" ünlemlerini hariç tutarak özellikle önemli olarak işaretler.

Diğer aramak oviki için kullanılan kelimelerin dizine eklenmesine biraz farklı bir yaklaşım olabilir. aramak kullanıcılar tarafından yeni istekler.

Tematik bağlantı koleksiyonları, bir grup profesyonel ve hatta bireysel toplayıcılar tarafından derlenen listelerdir. Çoğu zaman, oldukça uzmanlaşmış bir konu, büyük bir kataloğun bir grup çalışanındansa bir uzman tarafından daha iyi ele alınabilir. Web'de o kadar çok tematik koleksiyon var ki, belirli adresler vermenin bir anlamı yok.

Alan adı seçimi

Katalog - uygun sistem ancak, sunucuya ulaşmak için arama yapın Microsoft veya IBM , dizine atıfta bulunmak pek mantıklı değil. İlgili sitenin adını tahmin etmek zor değil: www.microsoft.com , www.ibm.com veya www.microsoft.ru , www.ibm.ru - bu şirketlerin Rusya temsilciliklerinin siteleri.

Benzer şekilde, bir kullanıcının dünyanın hava durumuyla ilgili bir siteye ihtiyacı varsa, bunu www.weather.com sunucusunda araması mantıklıdır. Çoğu durumda, başlığında anahtar sözcük bulunan bir siteyi aramak, metninde bu sözcüğün kullanıldığı bir belgeyi aramaktan daha etkilidir. Batılı bir ticari şirket (veya proje) tek heceli bir ada sahipse ve Web'de kendi sunucusunu uyguluyorsa, adının büyük olasılıkla www.name.com biçimine uyması ve Runet için (Web'in Rusça kısmı) - www.name.ru, burada ad - şirketin veya projenin adı. Adres tahmini, diğer arama yöntemleriyle başarılı bir şekilde rekabet edebilir, çünkü benzer sistem arama motoru, herhangi bir arama motoruna kayıtlı olmayan bir sunucuya bağlantı kurabilirsiniz. Ancak aradığınız ismi bulamıyorsanız arama motoruna yönelmek zorunda kalacaksınız.

arama motorları

Bana internette ne aradığını söyle sana kim olduğunu söyleyeyim

Bilgisayar, aradığınız şeyi kolayca açıklayabilecek son derece akıllı bir sistem olsaydı, o zaman iki veya üç belge verirdi - tam da ihtiyacınız olan belgeler. Ancak maalesef durum böyle değil ve bir talebe yanıt olarak, kullanıcı genellikle uzun bir belge listesi alıyor ve bunların çoğunun sorduğu şeyle hiçbir ilgisi yok. Bu tür belgelere ilgisiz denir (İngilizce'den ilgili - uygun, ilgili). Dolayısıyla ilgili belge, aradığınız bilgileri içeren belgedir. Açıkçası, alınan ilgili belgelerin yüzdesi, yetkin bir şekilde talepte bulunma yeteneğine bağlıdır. Arama motorunun bulduğu tüm belgeler listesindeki ilgili belgelerin oranına arama doğruluğu denir. Alakasız belgelere gürültü denir. Bulunan tüm belgeler alakalıysa (gürültü yoksa), arama doğruluğu %100'dür. İlgili tüm belgeler bulunursa, aramanın eksiksizliği %100'dür.

Böylece, aramanın kalitesi birbirine bağlı iki parametre tarafından belirlenir: aramanın doğruluğu ve tamlığı. Aramanın eksiksizliğini artırmak, doğruluğu azaltır ve bunun tersi de geçerlidir.

Bir arama motoru nasıl çalışır?

Arama motorları, aracıları bir veri tabanında bilgi toplayan işletmelerde dolaşan bir yardım masasına benzetilebilir (Şekil 4.21). Hizmetle iletişim kurulurken, bu veritabanından bilgi verilir. Veritabanındaki veriler güncelliğini yitirir, bu nedenle aracılar verileri periyodik olarak günceller. Bazı işletmeler kendileri hakkında veri gönderir ve aracıların onlara gelmesi gerekmez. Başka bir deyişle, yardım masasının iki işlevi vardır: veritabanında veri oluşturmak ve sürekli güncellemek ve müşterinin isteği üzerine veritabanında bilgi aramak.


Pirinç. 4.21.

Aynı şekilde, arama motoru iki bölümden oluşur: Web sunucularını atlayan ve bir arama motoru veritabanı oluşturan sözde robot (veya örümcek).

Robotun temeli esas olarak kendisi (robotun kendisi yeni kaynaklara bağlantılar bulur) ve çok daha az ölçüde - sitelerini arama motoruna kaydeden kaynak sahipleri tarafından oluşturulur. Veritabanını oluşturan robota (ağ aracısı, örümcek, solucan) ek olarak, bulunan bağlantıların derecesini belirleyen bir program vardır.

Bir arama motorunun çalışma prensibi, kullanıcının sorgu alanında belirttiği anahtar kelimeleri kendi iç dizininde (veritabanı) sorgulaması ve alaka düzeyine göre sıralanmış bir bağlantı listesi oluşturmasıdır.

Belirli bir kullanıcı talebini işlerken, arama motorunun tam olarak dahili kaynaklarla çalıştığı (ve deneyimsiz kullanıcıların genellikle inandığı gibi Web'de bir yolculuğa çıkmadığı) ve dahili kaynakların doğal olarak sınırlı olduğu belirtilmelidir. Arama motoru veri tabanı sürekli güncellense de, arama motoru tüm Web belgelerini dizine ekleyemiyor: sayıları çok büyük. Bu nedenle, aradığınız kaynağın belirli bir arama motoru tarafından bilinmemesi olasılığı her zaman vardır.

Bu fikir Şekil l'de açıkça gösterilmiştir. 4.22. Elips 1, belirli bir zamanda var olan tüm Web belgeleri kümesini sınırlar, Elips 2 - bu arama motoru tarafından indekslenen tüm belgeler ve Elips 3 - gerekli belgeler. Böylece, bu arama motorunu kullanarak, gerekli belgelerin yalnızca kendisi tarafından dizine eklenmiş olan kısmını bulabilirsiniz.


Pirinç. 4.22.

Yetersiz arama eksiksizliği sorunu, yalnızca arama motorunun sınırlı iç kaynakları değil, aynı zamanda robotun hızının sınırlı olması ve yeni Web belgelerinin sayısının sürekli artmasıdır. Arama motorunun dahili kaynaklarını artırmak, robotun kaynakları tarama hızı sınırlı olduğu için sorunu tam olarak çözemez.

Aynı zamanda, varsayalım ki arama motoru Orijinal İnternet kaynaklarının bir kopyasını içermesi yanlış olur. Full bilgi(kaynak belgeler) her zaman depolanmaz, daha sıklıkla yalnızca bir kısmı depolanır - sözde dizinlenmiş liste veya belge metninden çok daha kompakt olan ve arama sorgularına hızlı bir şekilde yanıt vermenizi sağlayan dizin.

Bir dizin oluşturmak için, kaynak veriler dönüştürülür, böylece veritabanının hacmi minimumdur ve arama çok hızlıdır ve maksimum verimi verir. kullanışlı bilgi. Dizine alınmış bir listenin ne olduğunu açıklayarak, kağıt muadili ile bir paralel çizilebilir - sözde uyum, yani. belirli bir yazarın kullandığı sözcükleri, bunlara yapılan atıfları ve eserlerinde kullanım sıklıklarını alfabetik sıraya göre listeleyen bir sözlük.

Açıkçası, konkordans (sözlük) eserlerin orijinal metinlerinden çok daha derli topludur ve içinde doğru kelimeyi bulmak, doğru kelimeyi bulmayı umarak kitabı çevirmekten çok daha kolaydır.

dizin oluşturma

İndeks yapım şeması Şek. 4.23. Web ajanları veya örümcek robotlar, Web üzerinde "tarama" yapar, Web sayfalarının içeriğini analiz eder ve hangi sayfada neyin bulunduğu hakkında bilgi toplar.


Pirinç. 4.23.

Bir sonraki HTML sayfasını bulurken çoğu arama motoru, üzerinde bulunan kelimeleri, resimleri, bağlantıları ve diğer öğeleri (farklı arama motorlarında farklı şekillerde) yakalar. Ayrıca, bir sayfadaki kelimeleri takip ederken, sadece varlıkları değil, aynı zamanda konumları da kaydedilir, yani. bu kelimelerin bulunduğu yer: başlıkta (başlık), alt başlıklarda ( alt yazılar ), meta etiketlerde 1 Meta etiketler, geliştiricilerin arama motorunu yönlendirmek için de dahil olmak üzere hizmet bilgilerini Web sayfalarına yerleştirmesine izin veren hizmet etiketleridir.(meta etiketler) veya başka bir yerde. Bu durumda, anlamlı kelimeler genellikle sabitlenir ve "a", "ama" ve "veya" gibi bağlaçlar ve ünlemler dikkate alınmaz. Meta etiketler, sayfa sahiplerinin tanımlamasına izin verir. anahtar kelimeler ve sayfanın indekslendiği konular. Bu, anahtar kelimelerin birden fazla anlamı olduğunda alakalı olabilir. Meta etiketler, bir kelimenin birkaç anlamından tek doğru olana kadar seçim yaparken arama motoruna rehberlik edebilir. Ancak, meta etiketler yalnızca dürüst site sahipleri tarafından doldurulduklarında güvenilir bir şekilde çalışır. Vicdansız Web sitesi sahipleri, meta etiketlerine sitenin konusuyla hiçbir ilgisi olmayan Web'deki en popüler kelimeleri koydu. Sonuç olarak, ziyaretçiler istenmeyen sitelere girerek sıralamalarını yükseltirler. Bu nedenle birçok modern arama motoru meta etiketleri görmezden gelir veya bunları sayfa metnine ek olarak kabul eder. Her robot, haksız reklam nedeniyle cezalandırılan kendi kaynak listesini tutar.

Açıkçası, "köpek" anahtar kelimesini kullanan siteleri ararsanız, arama motorunun yalnızca "köpek" kelimesinin geçtiği tüm sayfaları değil, aynı zamanda bu kelimenin sitenin konusuyla ilgili olduğu sayfaları da bulması gerekir. Belirli bir kelimenin belirli bir Web sayfasının profiliyle ne ölçüde alakalı olduğunu belirlemek için, bu kelime için başka sayfalara bağlantılar olup olmadığına, sayfada ne sıklıkta geçtiğine bakmak gerekir. Kısaca sayfada bulunan kelimeleri önem sırasına göre sıralamak gerekmektedir. Kelimelere ağırlıklar, kaç kez ve nerede geçtiklerine bağlı olarak atanır (sayfa başlığında, sayfanın başında veya sonunda, bir bağlantıda, bir meta etikette vb.). Her arama motorunun kendi ağırlıklandırma algoritması vardır - bu, arama motorlarının aynı anahtar kelime için farklı kaynak listeleri vermesinin nedenlerinden biridir. Sayfalar sürekli güncellendiğinden, indeksleme işleminin devam etmesi gerekir. Spiderbot'lar bağlantılar arasında gezinir ve oldukça büyük olabilen bir dizin içeren bir dosya oluşturur. Boyutunu küçültmek için bilgi miktarını en aza indirmeye ve dosyayı sıkıştırmaya başvururlar. Birden fazla robotla, bir arama motoru saniyede yüzlerce sayfayı işleyebilir. Bugün, güçlü arama motorları yüz milyonlarca sayfayı saklıyor ve her gün on milyonlarca sorgu alıyor.

Bir dizin oluştururken, kopya sayısını azaltma sorunu da çözülür - doğru bir karşılaştırma için önce belge kodlamasını belirlemeniz gerektiği düşünüldüğünde önemsiz olmayan bir görev. Daha da zor bir görev, yalnızca başlığın farklı olduğu ve metnin kopyalandığı belgeler gibi çok benzer ("neredeyse kopyalar" olarak adlandırılır) belgeleri ayırmaktır. Web'de pek çok benzer belge var - örneğin, birisi bir özet yazdı ve bunu imzasıyla sitede yayınladı. Modern arama motorları, bu tür sorunları çözmenize izin verir.

Arama motorları nasıl çalışır? İnternetin en güzel yanlarından biri, bize sunulmayı bekleyen yüz milyonlarca web kaynağının olmasıdır. Ama kötü olan şey şu ki, onlara ihtiyacımız olsa bile önümüzde görünmeyecek aynı milyonlarca sayfa var, çünkü. bizim için bilinmiyor. İnternette neyin ve nerede bulunabileceğini nasıl öğrenebilirim? Bunun için genellikle yardım isteriz. arama motorları.

İnternet arama motorları, insanların bulmasına yardımcı olmak için tasarlanmış, küresel ağdaki özel sitelerdir. Dünya çapında Ağ ihtiyaç duydukları bilgiler. Arama motorlarının işlevlerini yerine getirme biçiminde farklılıklar vardır, ancak genel olarak 3 temel ve aynı işlev vardır:

Hepsi, verilen anahtar kelimelere göre İnternet'te (veya İnternet'in bazı sektörlerinde) "arama" yapar;
- tüm arama motorları aradıkları kelimeleri ve onları buldukları yerleri dizine ekler;
- tüm arama motorları, kullanıcıların zaten indekslenmiş ve veritabanlarına girilmiş web sayfalarına dayalı olarak kelimeleri veya anahtar kelime kombinasyonlarını aramasına izin verir.

İlk arama motorları birkaç yüz bin sayfayı indeksledi ve günde 1.000 ila 2.000 sorgu aldı. Bugün, en iyi arama motorları yüz milyonlarca sayfayı dizine ekledi ve sürekli olarak dizine ekleyerek günde on milyonlarca isteği işliyor. Aşağıda, arama motorlarının nasıl çalıştığından ve bizi ilgilendiren herhangi bir soruya cevap verebilmek için bulunan tüm bilgileri nasıl "eklediklerinden" bahsedeceğiz.

Web'e bakalım

İnsanlar hakkında konuştuğunda İnternet arama motorları makineler, gerçekten arama motorlarını kastediyorlar Dünya çapında Ağ. Web en çok haline gelmeden önce görünen kısımİnternet, insanların web'de bilgi bulmasına yardımcı olan arama motorları zaten vardı. "Gopher" ve "Archie" adlı programlar, bağlı farklı sunucularda barındırılan dosyaları indeksleyebildi. internet interneti ve aramaya harcanan zamanı defalarca azalttı istenilen programlar veya belgeler. Geçen yüzyılın 80'li yıllarının sonlarında, "İnternette çalışma yeteneği" ile eşanlamlı, sincap, Archie, Veronica vb. arama programları Bugün, çoğu İnternet kullanıcısı aramalarını World Wide Web veya WWW ile sınırlandırmaktadır.

küçük başlangıç

Nerede bulacağınızı cevaplamadan önce istenen belge veya dosya, bu dosya veya belge zaten bir noktada bulunmalıdır. Arama motoru, yüz milyonlarca mevcut WEB sayfası hakkında bilgi bulmak için özel bir robot programı kullanır. Bu program aynı zamanda örümcek ("örümcek", örümcek) olarak da adlandırılır ve sayfada bulunan kelimelerin bir listesini oluşturmak için kullanılır. Böyle bir liste oluşturma işlemine denir. web taraması(Web taraması). "Yararlı" (anlamlı) bir kelime listesi oluşturmak ve uygulamak için, arama örümceğinin birçok başka sayfayı "kaydırması" gerekir.

Herkes nasıl başlar? örümcek(örümcek) web yolculuğunuz? Genellikle çıkış noktası dünyanın en büyük sunucuları ve çok popüler web sayfalarıdır. Örümcek, yolculuğuna böyle bir siteden başlar, bulduğu tüm kelimeleri indeksler ve diğer sitelere verilen bağlantıları izleyerek hareketini daha da sürdürür. Böylece örümcek robot, ağ alanının tüm büyük "parçalarını" kaplamaya başlar. Google.com akademik bir arama motoru olarak başladı. Bu arama motorunun nasıl oluşturulduğunu anlatan bir makalede, Sergey Brin ve Laurence Page (Google'ın kurucuları ve sahipleri), Google örümceklerinin ne kadar hızlı çalıştığına dair bir örnek verdiler. Birkaç tane var ve genellikle arama 3 örümceğin kullanılmasıyla başlar. Her örümcek, web sayfalarına 300 adede kadar eşzamanlı açık bağlantı sağlar. En yüksek yükte, 4 örümcek kullanan Google sistemi saniyede 100 sayfa işleyebilir ve yaklaşık 600 kilobayt/sn trafik oluşturur.

Örümceklere işlemeleri gereken verileri sağlamak için Google, örümcekleri giderek daha fazla URL ile "atmaktan" başka bir şey yapmayan bir sunucuya sahipti. Google, url'yi IP adresine çeviren alan adı sunucuları (DNS) konusunda İnternet servis sağlayıcılarına bağımlı kalmamak için kendi Dns sunucusu, sayfaları indekslemek için harcanan tüm zamanı en aza indirir.

Googlebot bir HTML sayfasını ziyaret ettiğinde 2 şeyi hesaba katar:

Sayfa başına kelime (metin);
- konumları (sayfanın gövdesinin hangi bölümünde).

gibi hizmet bölümleriyle birlikte bulunan kelimeler başlık, alt yazılar, meta etiketler ve diğerleri, kullanıcı aramaları için özellikle önemli olarak işaretlendi. Google örümceği, "a", "an" ve "the." Diğer arama motorlarının indeksleme konusunda biraz farklı bir yaklaşımı vardır.

Arama motorlarının tüm yaklaşımları ve algoritmaları, nihayetinde örümcek robotların daha hızlı ve daha verimli çalışmasını sağlamayı amaçlamaktadır. Örneğin, bazı arama robotları başlıktaki kelimeleri, bağlantıları ve sayfada en sık kullanılan 100'e kadar kelimeyi ve hatta sayfanın metin içeriğinin ilk 20 satırındaki kelimelerin her birini indekslerken izler. Bu, özellikle Lycos için indeksleme algoritmasıdır.

AltaVista gibi diğer arama motorları, her birini dizine ekleyerek diğer yöne gider. tek kelime"a", "an", "the" ve diğer önemsiz sözcükleri içeren sayfalar.

Meta etiketleri

Meta etiketler, bir web sayfasının sahibinin, içeriğinin özünü tanımlayan anahtar kelimeleri ve kavramları belirlemesine olanak tanır. Bu, özellikle bu anahtar kelimeler sayfa metninde 2-3 defaya kadar tekrar edilebildiğinde çok kullanışlı bir araçtır. Bu durumda, meta etiketler tarayıcıyı şuraya "yönlendirebilir": doğru seçim sayfa indeksleme için anahtar kelimeler. Sayfanın içeriğiyle hiçbir ilgisi olmayan popüler arama sorguları ve kavramlarından çok daha fazla meta etiketi "aldatma" olasılığı vardır. Arama robotları, örneğin, meta etiketlerin ve web sayfası içeriğinin korelasyonunu analiz ederek, sayfaların içeriğiyle eşleşmeyen meta etiketleri (sırasıyla anahtar sözcükleri) "atarak" bununla başa çıkabilir.

Tüm bunlar, bir web kaynağının sahibinin gerçekten istenen arama kelimeleri için arama sonuçlarına dahil edilmek istediği durumlar için geçerlidir. Ancak çoğu zaman, mal sahibinin robot tarafından dizine eklenmek istemediği de olur. Ancak bu tür durumlar makalemizin konusuna ait değildir.

dizin oluşturma

Örümcekler yeni web sayfaları bulma işini bitirdikten sonra, arama motorları buldukları tüm bilgileri daha sonra kullanımı kolay bir şekilde yerleştirmelidir. Burada önemli olan 2 temel bileşen vardır:

Verilerle saklanan bilgiler;
- bu bilgilerin dizine eklendiği yöntem.

En basit durumda, arama motoru kelimeyi ve bulunduğu URL'yi basitçe yerleştirebilir. Ancak bu, arama motorunu çok ilkel bir araç haline getirecektir, çünkü bu kelimenin belgenin hangi bölümünde bulunduğu (meta etiketler veya düz metin olarak), bu kelimenin bir kez mi yoksa tekrar tekrar mı kullanıldığı ve olup olmadığı hakkında hiçbir bilgi yoktur. başka bir önemli ve ilgili kaynağa giden bağlantıda bulunur. Başka bir deyişle, bu yöntem siteleri sıralamanıza izin vermeyecek, kullanıcılara alakalı sonuçlar vb.

Bize faydalı veriler sağlamak için, arama motorları bir kelimeden ve onun URL'sinden gelen bilgilerden daha fazlasını depolar. Arama motoru, bir kelimenin bir sayfada geçtiği sayı (sıklık) verilerini kaydedebilir, kelimeye bir "ağırlık" atayabilir, bu da bu kelimenin ağırlık sıralamasına göre arama listelerinin (sonuçların) yayınlanmasına yardımcı olur konumunu dikkate alarak (bağlantılarda, meta etiketlerde, sayfa başlığında) vb.). Her ticari arama motorunun, indeksleme sırasında anahtar kelimelerin "ağırlığını" hesaplamak için kendi formülü vardır. Aynı nedenden biri de bu arama sorgusu Arama motorları çok farklı sonuçlar veriyor.

Sonraki önemli nokta bulunan bilgileri işlerken - depolaması için disk alanı miktarını azaltmak için kodlaması. Örneğin, orijinal Google makalesinde, kelimelerin ağırlık verilerini depolamak için 2 baytın (her biri 8 bit) kullanıldığı açıklanmaktadır - bu, kelimenin türünü (büyük veya büyük harfler), boyutunu dikkate alır. harflerin kendileri (Yazı Tipi-Boyutu) ve siteyi sıralamaya yardımcı olan diğer bilgiler. Bu tür her bilgi "parçası", tam bir 2 baytlık sette 2-3 bitlik veri gerektirir. Sonuç olarak, çok büyük miktarda bilgi çok kompakt bir biçimde saklanabilir. Bilgiler "sıkıştırıldıktan" sonra indekslemeye başlama zamanı.

İndekslemenin amacı aynıdır: maksimum sağlamak hızlı arama gerekli bilgi. Dizin oluşturmanın birkaç yolu vardır, ancak en etkili olanı, dizin oluşturmaktır. hash tabloları(karma tablo). Hashing, her kelimeye sayısal bir değer atayan bir formül kullanır.

Herhangi bir dilde, alfabenin geri kalan harflerinden çok daha fazla kelimeyle başlayan harfler vardır. Örneğin, İngilizce sözlük bölümünde "M" harfleriyle başlayan kelimeler, "X" harfiyle başlayan kelimelere göre önemli ölçüde daha fazladır. Bu, en popüler harfle başlayan bir kelimeyi aramanın diğer herhangi bir kelimeden daha uzun süreceği anlamına gelir. karma(Hashing) bu farkı eşitleyerek ortalama arama süresini azaltır ve aynı zamanda indeksin kendisini gerçek verilerden ayırır. Hash tablosu, hash değerlerini ve bu değere karşılık gelen verilere bir işaretçi içerir. Verimli indeksleme + verimli yerleştirme birlikte, kullanıcı çok karmaşık bir arama sorgusu ayarlasa bile yüksek arama hızı sağlar.

Arama motorlarının geleceği

Boole işleçlerine ("ve", "veya", "değil") dayalı bir arama değişmez bir aramadır -- arama motoru, arama sözcüklerini tam olarak girildikleri gibi alır. Bu, örneğin girilen kelimenin birden çok anlamı olduğunda bir soruna neden olabilir. Örneğin "anahtar", "bir kapıyı açmak" anlamına gelebilir veya bir sunucuya girmek için "şifre" anlamına gelebilir. Bir kelimenin yalnızca bir anlamı ile ilgileniyorsanız, ikinci anlamıyla ilgili verilere ihtiyacınız olmayacağı açıktır. Elbette, kelimenin gereksiz anlamına ilişkin verilerin çıktısını hariç tutmanıza izin verecek bir hazır bilgi sorgusu oluşturabilirsiniz, ancak arama motorunun size yardımcı olması iyi olur.

Gelecekteki arama motoru algoritmalarında bir araştırma alanı, kavramsal bilgi almadır. Bunlar, ilgili verileri bulmak için belirli bir arama anahtar kelimesini veya kelime öbeğini içeren sayfaların istatistiksel analizinin kullanıldığı algoritmalardır. Açıkçası, böyle bir "kavramsal arama motoru" her sayfa için çok daha fazla depolamaya ve her talebi işlemek için daha fazla zamana ihtiyaç duyacaktır. Birçok araştırmacı şu anda bu sorun üzerinde çalışıyor.

Sorgulara dayalı arama algoritmaları geliştirme alanında daha az yoğun çalışma yapılmamaktadır. Doğal lisan(Doğal Dil sorgusu).

Doğal sorguların arkasındaki fikir, sanki karşınızda oturan bir meslektaşınıza soruyormuş gibi bir sorgu yazabilmenizdir. Boole operatörleri hakkında endişelenmenize veya oluşturma zahmetine girmenize gerek yok karmaşık sorgu. Günümüzün en popüler doğal arama dili arama sitesi AskJeeves.com'dur. Sorguyu, siteleri dizine eklerken kullandığı anahtar sözcüklere dönüştürür. Bu yaklaşım yalnızca şu durumlarda işe yarar: basit istekler. Ancak ilerleme durmuyor, çok yakında arama motorlarıyla kendi "insan dilimiz" ile "konuşmamız" mümkün.

1.1.1. Arama motoru bileşenleri

Web'deki bilgiler yalnızca yenilenmekle kalmaz, aynı zamanda sürekli değişir ve kimse bu değişiklikleri kimseye söylemez. Mevcut olmayan tek sistem tüm İnternet kullanıcıları tarafından aynı anda kullanılabilen bilgilerin girilmesi. Bu nedenle, bilgileri yapılandırmak, kullanıcılara uygun veri arama araçları sağlamak için arama motorları oluşturulmuştur.

Arama motorları farklı şekiller. Bazıları, insanların içine koyduklarına göre bilgi arar. Bunlar, siteler hakkında bilgilerin yer aldığı dizinler olabilir. Kısa Açıklama veya incelemeler editörler tarafından girilir. Bu açıklamalar arasında aranırlar.

İkincisi, kullanarak Web üzerinde bilgi toplar. özel programlar. Bunlar, kural olarak üç ana bileşenden oluşan arama motorlarıdır:

dizin;

arama motoru.

Ajan veya daha yaygın olarak - bilgi arayan bir örümcek, bir robot (İngiliz edebiyatında - örümcek, paletli), ağı veya belirli bir bölümünü atlar. Bu robot, ziyaret edebileceği ve dizine ekleyebileceği adreslerin (URL'lerin) bir listesini tutar, bağlantılara karşılık gelen belgeleri indirir ve her arama motoru için düzenli aralıklarla analiz eder. Sayfaların ortaya çıkan içeriği robot tarafından daha kompakt bir biçimde kaydedilir ve Dizine aktarılır. Sayfanın (belgenin) analizi sırasında bulunursa yeni bağlantı, robot onu listesine ekleyecektir. Bu nedenle, bağlantı içeren herhangi bir belge veya site robot tarafından bulunabilir. Ve tam tersi, sitenin veya herhangi bir bölümünün herhangi bir Dış bağlantılar, robot onu bulamayabilir.

Bir robot sadece bir bilgi toplayıcı değildir. Oldukça gelişmiş bir "zekası" var. Robotlar belirli bir konudaki siteleri arayabilir, trafiğe göre sıralanmış site listeleri oluşturabilir, mevcut veritabanlarından bilgi çıkarabilir ve işleyebilir ve çeşitli iç içe geçme derinliklerindeki bağlantıları izleyebilir. Ancak her durumda, bulunan tüm bilgileri arama motorunun veritabanına (Index) iletirler.

Arama robotları çeşitli tipler:

? Örümcek(örümcek), web sayfalarını kullanıcının tarayıcısıyla aynı şekilde indiren bir programdır. Aradaki fark, tarayıcının sayfada yer alan bilgileri (metin, grafik vb.) göstermesi, örümceğin ise herhangi bir görsel bileşene sahip olmaması ve doğrudan sayfanın HTML metniyle çalışmasıdır (eğer yaparsanız göreceğinize benzer). tarayıcınızda HTML kodunu görüntülemeyi açın).

? paletli(paletli, "seyahat eden" örümcek) - sayfada bulunan tüm bağlantıları vurgular. Görevi, bağlantılara veya önceden tanımlanmış bir adres listesine dayanarak örümceğin bundan sonra nereye gitmesi gerektiğini belirlemektir. Tarayıcı, bulunan bağlantıları izleyerek, arama motorunun henüz bilmediği yeni belgeleri arar.

? İndeksleyici sayfayı bileşen parçalarına ayırır ve analiz eder. Metin, başlıklar, yapısal ve stil özellikleri, özel hizmet HTML etiketleri vb. gibi çeşitli sayfa öğeleri seçilir ve analiz edilir.

dizin- bu, arama motorunun bilgilerin arandığı kısmıdır. Dizin, robotlar tarafından kendisine iletilen tüm verileri içerir, bu nedenle dizinin boyutu yüzlerce gigabayta ulaşabilir. Aslında dizin, robotlar tarafından ziyaret edilen tüm sayfaların kopyalarını içerir. Robot, halihazırda indekslediği bir sayfada bir değişiklik tespit ederse, güncellenmiş bilgileri İndeks'e gönderir. Mevcut olanın yerini almalıdır, ancak bazı durumlarda Dizinde yalnızca yeni bir sayfa görünmekle kalmaz, eski sayfa da kalır.

arama motoru ziyaretçinin Dizin ile etkileşime girdiği arayüzün ta kendisidir. Arayüz üzerinden kullanıcılar isteklerini girip yanıt alıyorlar ve site sahipleri bunları kaydediyor (ve bu kayıt sitenizin adresini robota iletmenin başka bir yoludur). Bir sorguyu işlerken, arama motoru milyonlarca dizinlenmiş kaynak arasından karşılık gelen sayfaları ve belgeleri seçer ve bunları sorguyla önem veya alaka düzeyine göre düzenler.

Popüler inanışın aksine robot, taranan belgelerin herhangi bir işlenmesine doğrudan dahil değildir. Bunları yalnızca okur ve kaydeder, ardından diğer programlar işlemlerini gerçekleştirir. İlk defa indekslenen bir sitenin logları incelenerek görsel doğrulama elde edilebilir. İlk ziyarette bot önce robots.txt dosyasını, ardından sitenin ana sayfasını ister. Yani, bildiği tek bağlantıyı takip ediyor. Botun ilk ziyaretinin her zaman bittiği yer burasıdır. Bir süre sonra (genellikle ertesi gün), bot, zaten okunan sayfada bulunan bağlantıları kullanarak sonraki sayfaları ister. Ardından süreç aynı sırayla devam eder: daha önce bulunan bağlantılar olan sayfalar için bir istek - okunan belgelerin işlenmesi için bir duraklama - bulunan bağlantılar için bir istek içeren bir sonraki oturum.

Sayfaları "anında" ayrıştırmak çok daha fazlasını ifade eder Ö robotun daha fazla kaynak yoğunluğu ve zaman kaybı. Her Tarama Sunucusu birçok bot işlemini paralel olarak çalıştırır. Yeni sayfaları okumaya ve zaten bilinenleri yeniden okumaya zaman ayırmak için olabildiğince çabuk hareket etmeleri gerekir. Bu nedenle, botlar yalnızca belgeleri okur ve kaydeder. Kaydettikleri her şey işlenmek üzere sıraya alınır (kod ayrıştırma). Sayfa işleme sırasında bulunan bağlantılar, botlar için görev kuyruğuna yerleştirilir. Yani tüm ağın sürekli bir taraması var. Botun anında analiz edebileceği ve etmesi gereken tek şey, içinde yasak olan adresleri talep etmemek için robots.txt dosyasıdır. Siteyi taramanın her oturumunda, robot her şeyden önce bu dosyayı ve ondan sonra - sayfayı taramak için sıraya girenlerin hepsini ister.

Arama robotu türleri

Her arama motorunun farklı amaçlar için kendi robot seti vardır.
Temel olarak, sınırlar çok şartlı olmasına ve her arama motoru bunları kendi yolunda anlamasına rağmen, işlevsel amaçları bakımından farklılık gösterirler. Yalnızca tam metin arama sistemleri için, tüm durumlar için bir robot yeterlidir. Yalnızca metinle meşgul olmayan arama motorları için botlar en az iki kategoriye ayrılır: metinler ve resimler için. Belirli içerik türlerine (mobil, blog, haber, video vb.) ayrılmış ayrı botlar da vardır.

Google robotları

Tüm Google botları topluca Googlebot olarak bilinir. Ana robot indeksleyici şu şekilde "kendini temsil eder":

Mozilla/5.0 (uyumlu; Googlebot/2.1; +http://www.google.com/bot.html)

Bu bot, ana amaç için HTML sayfalarını ve diğer belgeleri taramakla meşgul. Google arama. Ayrıca zaman zaman CSS ve JS dosyalarını da okur - bunu çoğunlukla site indekslemenin erken bir aşamasında, bot siteyi ilk kez tararken fark edebilirsiniz. Kabul edilen içerik türlerinin tümü (Kabul: */*).

Ana botlardan ikincisi, siteden görüntüleri taramakla meşgul. Basitçe "görünür":

Googlebot-Resim/1.0

Günlüklerde içerik toplamakla meşgul en az üç bot da görüldü. mobil versiyon aramak. Üçünün de User-agent alanı şu satırla biter:

(uyumlu; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)

Bu satırdan önce - model cep telefonu bu botun uyumlu olduğu. Fark edilen botlar bu modellere sahip nokia telefonlar, Samsung ve iPhone. Kabul edilen içerik türlerinin tümü, ancak önceliklidir:

Kabul et: application/vnd.wap.xhtml+xml,application/xhtml+xml;q=0.9,text/vnd.wap.wml;q=0.8,text/html;q=0.7,*/*;q=0.6

Yandex robotları

Runet'te aktif olan arama motorları arasında Yandex, en büyük bot koleksiyonuna sahiptir. Tüm örümcek personelinin resmi listesi için web yöneticisi yardım bölümüne bakın. Bu listede periyodik olarak değişiklikler meydana geldiğinden, burada tam olarak vermenin bir anlamı yoktur.
Yine de bizim için en önemli Yandex robotlarından ayrıca bahsetmek gerekiyor.
Ana indeksleme robotuşu anda aranıyor

Mozilla/5.0 (uyumlu; YandexBot/3.0; +http://yandex.com/bots)

Daha önce şu şekilde sunuldu:

Yandex/1.01.001 (uyumlu; Win16; I)

okur HTML sayfaları indeksleme için site ve diğer belgeler. Kabul edilen ortam türlerinin listesi daha önce aşağıdakilerle sınırlıydı:

Kabul et: text/html, application/pdf;q=0.1, application/rtf;q=0.1, text/rtf;q=0.1, application/msword;q=0.1, application/x-shockwave-flash;q=0.1, uygulama/vnd.ms-excel;q=0.1, uygulama/vnd.ms-powerpoint;q=0.1

31 Temmuz 2009'dan bu yana bu listede önemli bir genişleme fark edildi (tür sayısı neredeyse iki katına çıktı) ve 10 Kasım 2009'dan bu yana liste */* (tüm türler) olarak kısaltıldı.
Bu robot, çok özel bir dizi dille yakından ilgileniyor: Rusça, biraz daha az Ukraynaca ve Belarusça, biraz daha az İngilizce ve çok az - diğer tüm diller.

Kabul Dili: ru, uk;q=0.8, be;q=0.8, en;q=0.7, *;q=0.01

Görüntü tarayıcı robotu User-agent alanında şu dizeyi taşır:

Mozilla/5.0 (uyumlu; YandexImages/3.0; +http://yandex.com/bots)

Grafik tarama farklı formatlar resimlerde aramak için

Google'ın aksine, Yandex'in bazı özel genel arama işlevlerine hizmet eden ayrı botları vardır.
Robot "ayna"

Mozilla/5.0 (uyumlu; YandexBot/3.0; MirrorDetector; +http://yandex.com/bots)

Özellikle karmaşık bir şey yapmaz - periyodik olarak görünür ve etki alanına erişirken sitenin ana sayfasının www ile eşleşip eşleşmediğini kontrol eder. Ve olmadan. Ayrıca bir eşleşme için paralel "ayna" etki alanlarını denetler. Görünüşe göre, Yandex'deki alan adlarının yansıları ve kanonik biçimi ayrı bir birim tarafından ele alınıyor. yazılım paketiİndeksleme ile doğrudan ilgili olmayan A. Aksi takdirde, bu amaç için ayrı bir botun varlığını açıklayacak kesinlikle hiçbir şey yoktur.

favicon.ico simge seçici

Mozilla/5.0 (uyumlu; YandexFavicons/1.0; +http://yandex.com/bots)

Periyodik olarak görünür ve arama sonuçlarında site bağlantısının yanında görünen favicon.ico simgesini ister. Görüntü seçicinin bu görevi hangi nedenlerle birleştirmediği bilinmiyor. Görünüşe göre ayrı bir yazılım paketi de var.

Botu Kontrol Et yeni siteler için, AddURL formuna eklendiğinde çalışır

Mozilla/5.0 (uyumlu; YandexWebmaster/2.0; +http://yandex.com/bots)

Bu bot, kök URL'ye bir HEAD isteği göndererek site yanıtını kontrol eder. Bu varlığını kontrol eder ana sayfa etki alanında ve o sayfanın HTTP başlıklarını ayrıştırın. Bot ayrıca sitenin kök dizinindeki robots.txt dosyasını da ister. Böylece, AddURL'ye bir bağlantı gönderdikten sonra sitenin var olduğu belirlenir ve ne robots.txt ne de HTTP başlıkları ana sayfaya erişimi yasaklar.

Robot Gezici

Şu anda artık çalışmıyor, çünkü Rambler artık Yandex aramasını kullanıyor
Rambler indeksleme robotu, User-agent alanı ile günlüklerde kolayca tanımlanabilir

StackRambler/2.0 (MSIE uyumsuz)

Diğer arama motorlarındaki "meslektaşları" ile karşılaştırıldığında, bu bot oldukça basit görünüyor: bir medya türleri listesi belirtmiyor (sırasıyla, istenen herhangi bir belgeyi alıyor), istekte Dil Kabul Et alanı eksik, ve If-Modified-since alanı da botun isteklerinde bulunmaz.

Mail.Ru robotu

Bu robot hakkında çok az şey biliniyor. Mail.Ru portalı uzun süredir kendi aramasını geliştiriyor, ancak yine de bu aramayı başlatmayacak. Bu nedenle, yalnızca User-agent'taki botun adı güvenilir bir şekilde biliniyor - Mail.Ru/2.0 (önceden - Mail.Ru/1.0). Robors.txt dosyasının yönergeleri için botun adı hiçbir yerde yayınlanmadı, botun Mail.Ru olarak adlandırılması gerektiği varsayımı var.

Diğer robotlar

İnternette arama yapmak elbette iki ile sınırlı değildir. arama motorları. Bu nedenle, başka robotlar da var - örneğin, Bing robotu - Microsoft'tan bir arama motoru ve diğer robotlar. Bu nedenle, özellikle Çin'de ulusal bir Baidu arama motoru var - ancak robotunun nehrin ortasına ulaşması ve Rus sitesine ulaşması pek olası değil.

Ek olarak, son zamanlarda arama motorları olmasalar da siteleri de tarayan birçok hizmet - özellikle solomono - üretti. Genellikle site hakkında bu tür sistemlere bilgi aktarmanın değeri sorgulanabilir ve bu nedenle robotları yasaklanabilir.