Arama motorları: kompozisyon, işlevler, çalışma ilkeleri. Arama motorları içeriden

  • 07.07.2019

Arama motorları (SE), bir süredir İnternet'in vazgeçilmez bir parçası olmuştur. Bugün bunlar, yalnızca gerekli bilgileri bulmak için bir araç değil, aynı zamanda iş için oldukça heyecan verici alanlar olan devasa ve karmaşık mekanizmalardır.


Birçok arama kullanıcısı, çalışmalarının ilkelerini, kullanıcı isteklerini işleme yöntemlerini, bu sistemlerin nasıl kurulduğu ve çalıştığı hakkında hiç düşünmedi. Bu materyal, optimizasyonla uğraşan ve arama motorlarının yapısını ve temel işlevlerini anlayan kişilere yardımcı olacaktır.

PS'nin işlevleri ve konsepti

Arama sistemiİnternette arama işlevini gerçekleştirmek için tasarlanmış ve genellikle bir metin ifadesi (veya daha doğrusu bir arama sorgusu) biçiminde ayarlanmış bir kullanıcı isteğine yanıt vererek bir donanım ve yazılım kompleksidir. ilgililiğe göre yürütülen bilgi kaynaklarına bir bağlantı listesi. En yaygın ve en büyük arama motorları Google, Bing, Yahoo, Baidu'dur. Runet'te - Yandex, Mail.Ru, Rambler.

Örnek olarak Yandex sistemini alarak arama sorgusunun anlamına daha yakından bakalım.

Talep, kullanıcı tarafından aramasının konusuna tam olarak uygun olarak, mümkün olduğunca basit ve özlü bir şekilde formüle edilmelidir. Örneğin, bu arama motorunda bilgi bulmak istiyoruz: "kendin için bir araba nasıl seçilir." Bunu yapmak için ana sayfayı açın ve "nasıl araba seçilir" arama sorgusu girin. Ardından, işlevlerimiz, ağdaki bilgi kaynaklarına sağlanan bağlantıları takip etmeye indirgenir.




Ancak bu şekilde hareket etseniz bile ihtiyacımız olan bilgiyi alamayabilirsiniz. Böyle bir olumsuz sonuç alırsak, isteğinizi yeniden oluşturmanız yeterlidir veya arama tabanında bu tür istek hakkında gerçekten yararlı bir bilgi yoktur (bu, verilen "dar" sorgu parametreleriyle oldukça mümkündür, örneğin: , örneğin, "Anadyr'de bir araba nasıl seçilir ").

Her arama motorunun en temel görevi, insanlara tam olarak ihtiyaç duydukları türden bilgileri sunmaktır. Ve kullanıcıları, arama motorlarına "doğru" türde sorgular, yani çalışma ilkelerine uygun ifadeler oluşturma konusunda eğitmek neredeyse imkansızdır.

Bu nedenle arama motoru geliştiricileri, çalışmaları için kullanıcıların ilgilendikleri bilgileri bulmalarını sağlayacak bu tür ilke ve algoritmalar oluşturur. Bu, sistemin bir kişinin İnternette gerekli bilgileri ararken düşündüğü gibi "düşünmesi" gerektiği anlamına gelir.

Sorgusunu bir arama motoruna girdiğinde, ihtiyacı olanı olabildiğince kolay ve hızlı bir şekilde bulmak ister. Sonucu aldıktan sonra, kullanıcı, çeşitli kriterler tarafından yönlendirilen sistem çalışması hakkında kendi değerlendirmesini yapar. İhtiyacı olan bilgiyi bulmayı başardı mı? Değilse, onu bulmak için sorgu metnini kaç kez yeniden biçimlendirmesi gerekti? Aldığı bilgiler ne kadar alakalıydı? Arama motoru talebini ne kadar çabuk işleme koydu? Arama sonuçları ne kadar uygun sağlandı? İstenen sonuç birinci miydi yoksa 30. sırada mıydı? Yararlı bilgilerle birlikte ne kadar önemsiz (gereksiz bilgi) bulundu? PS'yi kullanırken, bir hafta içinde veya bir ay içinde onunla ilgili bilgiler olacak mı?




Bu tür sorulara doğru yanıtları almak için arama geliştiricileri, sıralama ilkelerini ve algoritmalarını sürekli olarak geliştirmekte, bunlara yeni özellikler ve işlevler eklemekte ve her ne pahasına olursa olsun sistemin daha hızlı çalışmasını sağlamaya çalışmaktadır.

Arama motorlarının temel özellikleri

Aramanın ana özelliklerini belirleyelim:

eksiksizlik.

Tamlık, bir aramanın en önemli özelliklerinden biridir, istek üzerine bulunan bilgi dokümanlarının sayısının bu talebe ilişkin İnternetteki toplam sayısına oranıdır. Örneğin, İnternette “bir araba nasıl seçilir” ifadesini içeren 100 sayfa var ve aynı sorgu için toplamın sadece 60'ı seçildi, bu durumda aramanın eksiksizliği 0,6 olacaktır. Aramanın kendisi ne kadar eksiksiz olursa, kullanıcının tabii ki mevcutsa, tam olarak ihtiyaç duyduğu belgeyi bulması o kadar olasıdır.

Kesinlik.

Bir arama motorunun bir diğer birincil işlevi doğruluktur. Web'de bulunan sayfaların kullanıcının isteğine uygunluk derecesini belirler. Örneğin, "nasıl bir araba seçilir" anahtar ifadesi için yüzlerce belge varsa, bunların yarısı bu ifadeyi içerir ve geri kalanı bu tür kelimelere sahiptir (bir araba radyosunu nasıl doğru seçer ve bir arabaya kurarsınız " ), ardından arama doğruluğu 50/100 = 0,5'e eşittir.

Arama ne kadar doğru olursa, kullanıcı ihtiyaç duyduğu bilgiyi o kadar çabuk bulur, sonuçlar arasında o kadar az çeşitli "çöp" bulunur, bulunan daha az belge sorgunun anlamına karşılık gelmez.

alaka.

Bu, bilginin internette yayınlandığı andan arama motorunun dizin tabanına girilene kadar geçen süre ile karakterize edilen aramanın önemli bir bileşenidir.

Örneğin, yeni iPad'in piyasaya sürülmesiyle ilgili bilgilerin ortaya çıkmasından bir gün sonra, birçok kullanıcı ilgili sorgu türleriyle aramaya yöneldi. Çoğu durumda, bu haberle ilgili bilgiler, ortaya çıkmasından bu yana çok az zaman geçmesine rağmen, aramada zaten mevcuttur. Bunun nedeni, büyük arama motorlarının günde birkaç kez güncellenen "hızlı bir tabana" sahip olmasıdır.

Arama hızı.

Arama hızı gibi bir işlev, "yük direnci" ile yakından ilişkilidir. Her saniye çok sayıda insan aramaya yönelir, böyle bir iş yükü, bir talebi işlemek için gereken sürede önemli bir azalma gerektirir. Burada hem arama motorunun hem de kullanıcının çıkarları tamamen örtüşür: ziyaretçi mümkün olduğunca çabuk sonuç almak ister ve arama motoru sonraki isteklerin işlenmesini yavaşlatmamak için talebini mümkün olduğunca çabuk işleme koymalıdır.

Görünürlük.

Sonuçların net bir sunumu, arama kolaylığının önemli bir unsurudur. Birçok sorgu için arama motoru binlerce ve bazı durumlarda milyonlarca farklı belge bulur. Arama için anahtar kelime öbeklerinin net olmayan bileşimi veya yanlışlığı nedeniyle, bir sorgunun ilk sonuçları bile her zaman yalnızca gerekli bilgilere sahip değildir.

Bu, bir kişinin genellikle sağlanan sonuçlar arasında kendi aramasını yapması gerektiği anlamına gelir. Arama motoru sonuç sayfalarının çeşitli bileşenleri, arama sonuçlarında gezinmeye yardımcı olur.

Arama motorlarının gelişim tarihi

İnternet ilk gelişmeye başladığında, düzenli kullanıcılarının sayısı azdı ve erişilecek bilgi miktarı nispeten azdı. Temel olarak, yalnızca araştırma alanlarındaki uzmanların bu ağa erişimi vardı. O zamanlar bilgi bulma işi şimdiki kadar acil değildi.

Bilgi kaynaklarına geniş erişimi organize etmenin en eski yöntemlerinden biri, sitelerin kataloglarının oluşturulmasıydı ve bunlara bağlantılar konuya göre gruplandırılmaya başlandı. Bu ilk proje, 1994 baharında açılan Yahoo.com kaynağıydı. Daha sonra Yahoo dizinindeki sitelerin sayısı önemli ölçüde arttığında, dizinde gerekli bilgileri aramak için bir seçenek eklendi. Henüz tam olarak bir arama motoru değildi, çünkü böyle bir arama alanı yalnızca bu dizinde yer alan sitelerle sınırlıydı ve kesinlikle İnternet'teki tüm kaynaklarla sınırlı değildi. Bağlantı dizinleri daha önce yaygın olarak kullanılıyordu, ancak şimdi popülerliklerini neredeyse tamamen kaybettiler.

Ne de olsa günümüzün devasa katalogları bile internetteki sitelerin önemsiz bir kısmı hakkında bilgi içeriyor. Dünyanın en ünlü ve en büyük dizini, Google veritabanı 25 milyardan fazla sayfa hakkında bilgi içerdiğinde, beş milyon site hakkında bilgiye sahiptir.




İlk gerçek arama motoru, 1994'te ortaya çıkan WebCrawler'dı.

Ertesi yıl AltaVista ve Lycos ortaya çıktı. Üstelik ilk bilgi aramada çok uzun bir süre liderdi.




1997'de Sergey Brin, Larry Page ile birlikte Stanford Üniversitesi'nde bir araştırma projesi olarak Google arama motorunu yarattı. Bugün, dünyanın en çok talep edilen ve popüler arama motoru olan Google'dır.




Eylül 1997'de, şu anda Runet'teki en popüler arama motoru olan PS Yandex (resmi olarak) duyuruldu.




Verilere göre eylül 2015, arama motorlarının dünyadaki payları şu şekilde dağıtılıyor:
  • Google - %69.24;
  • Bing - %12,26;
  • Yahoo! - %9.19;
  • Baidu - %6.48;
  • AOL - %1,11;
  • Sor - %0.23;
  • Heyecan - %0,00


Verilere göre Aralık 2016, arama motorlarının Runet'teki payı:

  • Yandex - %48,40
  • Google - %45.10
  • Search.Mail.ru - %5,70
  • Rambler - %0.40
  • Bing - %0,30
  • Yahoo - 0.10%

Arama motoru nasıl çalışır?

Rusya'da ana arama motoru Yandex, ardından Google ve ardından [email protected]'dur. Tüm büyük arama motorlarının diğerlerinden çok farklı olan kendi yapıları vardır. Yine de, tüm arama motorlarında ortak olan temel öğeleri ayırabiliriz.

İndeksleme modülü.

Bu bileşen üç robot programından oluşur:

Örümcek(İngilizce örümcek) - web sayfalarını indirmek için tasarlanmış bir program. Örümcek, belirli bir sayfayı indirir ve aynı anda tüm bağlantıları ondan çıkarır. Html kodu hemen hemen her sayfadan indirilir. Bunu yapmak için robotlar HTTP protokollerini kullanır.




"Örümcek" aşağıdaki gibi çalışır. Robot, isteği sunucuya “get/path/doküman” ve diğer HTTP istek komutlarını gönderir. Yanıt olarak, robot programı, bir hizmet türüyle ilgili bilgileri ve elbette belgenin kendisini içeren bir metin akışı alır.
  • İndirilen sayfanın URL'si;
  • sayfanın indirildiği tarih;
  • sunucu http yanıt başlığı;
  • html kodu, sayfanın "gövdesi".
paletli("Seyahat eden" örümcek). Bu program otomatik olarak sayfada bulunan tüm bağlantılara gider ve ayrıca onları vurgular. Görevi, bu bağlantılara veya belirli bir adres listesine dayanarak örümceğin gelecekte nereye gitmesi gerektiğini belirlemektir.

dizin oluşturucu(bir robot indeksleyici), örümceklerin indirdiği sayfaları analiz eden bir programdır.



Dizin oluşturucu, sayfayı oluşturan öğelerine tamamen ayrıştırır ve morfolojik ve sözcüksel algoritma türlerini kullanarak bunları analiz eder.

Analiz, başlıklar, metinler, bağlantılar, stil ve yapısal özellikler, html etiketleri vb. gibi sayfanın çeşitli bölümlerinde gerçekleştirilir.

Böylece indeksleme modülü, belirli sayıda kaynağın bağlantılarını takip etmeyi, sayfaları indirmeyi, alınan belgelerden yeni sayfalara bağlantı kütlesini çıkarmayı ve detaylı analizlerini yapmayı mümkün kılar.

Veri tabanı

Veri tabanı(veya arama motoru indeksi) bir veri depolama kompleksidir, indeksleme modülü tarafından işlenen her indirilen ve işlenen belgenin parametrelerinin belirli bir şekilde saklandığı bir bilgi dizisidir.

Arama Sunucusu

Bu, tüm sistemin en önemli unsurudur, çünkü aramanın hızı ve elbette kalitesi, işlevselliğinin altında yatan algoritmalara doğrudan bağlıdır.

Arama motoru şu şekilde çalışır:

  • Kullanıcıdan gelen istek morfolojik analize tabi tutulur. Veritabanında bulunan herhangi bir belgenin bilgi ortamı oluşturulur (ayrıca bir snippet, yani bu talebe karşılık gelen metnin bilgi alanı olarak görüntülenecektir).
  • Alınan veriler, özel bir sıralama modülüne girdi parametreleri olarak iletilir. Tüm belgeler için işlenirler ve sonuç olarak, bu tür her belge için, böyle bir belgenin kullanıcının talebiyle ve diğer bileşenlerle alaka düzeyini karakterize eden kendi derecelendirmesi hesaplanır.
  • Kullanıcı tarafından belirlenen koşullara bağlı olarak, bu derecelendirme ek koşullarla da ayarlanabilir.
  • Ardından snippet'in kendisi oluşturulur, yani. bulunan herhangi bir belge için, bir başlık, talebi en iyi karşılayan bir açıklama ve bu belgeye bir bağlantı ilgili tablodan çıkarılırken, bulunan kelime formları ve kelimeler vurgulanır.
  • Ortaya çıkan aramanın sonuçları, arama sonuçlarının (SERP) verildiği bir sayfa şeklinde gerçekleştiren kişiye iletilir.
Tüm bu unsurlar birbiriyle yakından bağlantılıdır ve büyük miktarda kaynak harcaması gerektiren PS'nin işleyişi için ayrı, ancak oldukça karmaşık bir mekanizma oluşturarak etkileşim halinde çalışır.

Arama motorlarının nasıl çalıştığını bilmek SEO optimizasyonu için son derece önemlidir. Bu bilgi, web sitenizi İnternette tanıtmak için kendi stratejinizi oluşturmanıza izin verdiği için temeldir.
Arama motoru birkaç ana bileşenden oluşur: Örümcek, Paletli, Dizin Oluşturucu, Veritabanı, SERE, Web sunucusu. Bileşenlerin her birine daha yakından bakalım.
Örümcek, web sayfalarını görüntülemek için bir tarayıcı kullanarak indirdiğiniz şekilde indiren tarayıcı benzeri bir programdır. Temel fark, tarayıcının sayfada bulunan bilgileri (metin, grafik vb.) Ham html metnini görmek için tarayıcınızda html kodunu görüntüle'yi tıklatırsanız, örümceğin çalıştığı bilgi dizisini kendiniz görebilirsiniz.
Crawler (crawler, "seyahat eden" örümcek), sayfada bulunan tüm bağlantıları otomatik olarak tarayan bir programdır. Tarayıcının işi, bağlantılara veya önceden tanımlanmış bir adres listesine dayanarak örümceğin nereye gitmesi gerektiğini belirlemektir. Bulunan bağlantıları takip eden tarayıcı, arama motorunun hâlâ bilmediği yeni dokümanları arar.
Indexer, örümcekler tarafından indirilen sayfaları bileşen parçalarına ayrıştırır ve analiz eder. Sayfanın çeşitli öğeleri vurgulanır ve analiz edilir: metin, başlıklar, yapısal ve stil özellikleri, özel hizmet html etiketleri vb.
Veritabanı (veritabanı) - indirilen ve işlenen sayfaların, yani arama motorunun indirdiği ve analiz ettiği tüm verilerin bir deposu. Bazen veritabanına arama motoru dizini de denir. Esasen kişisel bilgisayarlarımızdaki sabit diskler gibidir.
Arama Motoru Sonuç Motoru, bir veritabanından arama sonuçlarını çıkarmak için bir programdır. Sayfa sıralamasıyla ilgilenir, yani hangi sayfaların kullanıcının isteğini karşıladığına ve hangi sırayla sıralanması gerektiğine karar verir. Bu çalışma, belirli arama motoru sıralama algoritmalarına (örneğin, alıntı dizini) dayanmaktadır. Bu bilgi, optimize ediciler için en değerlidir, çünkü sitenin arama sonuçlarındaki konumunu iyileştirmek amacıyla etkileşimde bulundukları arama motorunun bu bileşenidir.
Web sunucusu, kullanıcı ile arama motoru bileşenlerinin geri kalanı arasında etkileşimi sağlayan bir web sunucusudur. Genellikle sunucuda, kullanıcının ilgilenilen arama terimini girebileceği bir giriş alanına sahip bir html sayfası bulunur. Sunucu, sonuçların kullanıcıya bir html sayfası biçiminde gösterilmesinden de sorumludur.
Arama motorlarının tek bir arama motorunda ayrıntılı olarak uygulanması farklı olabilir (örneğin, Spider + Crawler + Indexer bağlantısı tek bir program olarak yürütülebilir), ancak tüm arama motorları açıklanan ortak özelliklere sahiptir.

Bir röportajında ​​Gary Flake (Yahoo!'daki araştırma laboratuvarı başkanı) şunları söyledi: "Web araması mükemmel olsaydı, her isteğe bir yanıt verirdi ve dünyanın en zeki insanı gibi olurdu. soru. tüm arka plan bilgileri parmaklarınızın ucunda ve tüm bunlar bir andan daha kısa sürede yapılıyor." Bu arada, modern sistemler, kendileri tarafından "hazırlanan" bir belge koleksiyonunun analizi için görsel bir arayüz sağlar.

  1. Ağda gezinme.
  2. Alternatif bir arama yöntemi, ETL süreci aşamasında belgelerin metinlerinden otomatik olarak seçilen nesneleri ve aralarındaki ilişkileri aramaktır. Bu yöntem, belgeleri filtrelemek için bağlamsal bir ölçüt belirtmeden belgelerdeki nesnelerin ilişkilerini keşfetmenize olanak tanır. Örneğin, Cheney nesnesi ile diğer nesneler arasındaki ilişkileri arayabilirsiniz (Şekil 1). Bu, istenen nesnelere gitmek, bu nesnelerin ilişkileri hakkında belgeler elde etmek ve analiz etmek için kullanılabilir. Nesnelerin ilişkilerini analiz etmek için yöntemlerin daha da geliştirilmesi, nesneler arasındaki ilişkileri yazma problemlerinin çözülmesiyle ilişkilidir. Buna karşılık, çözümleri Rus ayrıştırıcılarının ve eş anlamlılar sözlüğünün kalitesi ile sınırlıdır.

    OLAP teknolojisini kullanarak bir belge koleksiyonunda gezinmek için çok kullanışlı bir yöntem. "Anında" sistem, alınan belge koleksiyonunun kart alanlarından boyutlarla çok boyutlu bir temsilini oluşturur: başlıklar, yazarlar, yayın tarihi, kaynaklar. Bir analist, kendisini farklı boyutlardaki unsurlara (örneğin, bir federal bölgenin bölgelerinde) kaptırabilir, istenen frekans değerlerine sahip hücrelerdeki belgeleri görüntüleyebilir, vb. Ek olarak, genel veri analizi ve tahmin yöntemleri kullanılabilir. İncirde. Şekil 3, "Politika" başlığının bölgelere ve alt başlıklarına göre yayınların iki boyutlu dağılımının bir hücresinden yayınların bir listesinin elde edilmesini gösteren bir diyagramı göstermektedir. Bu yöntem, yayınların dinamiklerini ve onu belirleyen faktörleri analiz etmek için kullanılır.

  3. Otomatik açıklama.
Açık bilgi kaynakları çok sayıda yayını kullanıma sunmakta ve bu nedenle büyük hacimli belgelerle verimli çalışma sorununu ortaya çıkarmaktadır. Ek açıklamalar şeklinde birincil kaynakların kısa bir anlamını sağlamak, analiz hızını birkaç kez artırır. Ancak, deneyimlerimiz ek açıklamaların statik bir sonuç olduğunu, "kağıt" belgelerin analizinde kullanıldığını ve elektronik belge koleksiyonlarının analizinde kullanıldığını gösteriyor, belge konularının karşılıklı ilişkilerinin etkileşimli anlamsal haritası daha görsel ve yapılandırılmış bir sunum sağlıyor. bir veya bir dizi elektronik belgenin içeriğinin Metinsel bilgilerin analitik olarak işlenmesi için modern sistemler, otomatik açıklama araçlarına sahiptir. Ayrıca, bu sorunu çözmek için iki yaklaşım vardır.
  1. İlk yaklaşımda, açıklama programı, orijinal kaynaktan, belge içeriğinin en eksiksiz şekilde temsil edildiği az sayıda parçayı çıkarır. Bunlar, sorgu terimleri içeren cümleler olabilir; birkaç sözcükle çevrelenmiş terimlerle cümle parçaları, vb. Daha gelişmiş sistemlerde, doğrudan belgenin ana konularını içeren (ancak bunlara ilişkin referans referanslarını içermeyen) cümleler ayırt edilir.
  2. C) İkinci yaklaşımda özet, özet şeklinde sentezlenmiş bir belgedir. Birinci yaklaşıma göre oluşturulan özet, sentez sırasında elde edilenden niteliksel olarak daha düşüktür. Ek açıklama kalitesini artırmak için, Rusça'da çekirdek referans bağlantılarının işlenmesi sorununu çözmek gerekir. Ek açıklamaların sentezi sırasında ortaya çıkan bir diğer sorun, Rusça metinlerin anlamsal analizi ve sentezi için araçların olmamasıdır, bu nedenle açıklama hizmetleri ya dar bir konu alanına odaklanır ya da insan katılımı gerektirir.

Çoğu açıklama programı, metin parçalarını vurgulama ilkesine dayanmaktadır. Örneğin, eXtragon araştırma sistemi Web belgelerine açıklama eklemeye odaklanmıştır. Belgenin her bir cümlesi için, anahtar kelimeler, önemli ifadeler, metindeki yerleri ve istekteki varlıkları hakkındaki bilgilere göre bir ağırlık hesaplanır, ardından cümleler sıralanır ve en fazla sayıda kelime öbeğinden bir özet yapılır. ağırlık. "Analitik Kurye" sisteminde, belge notu parçalarından otomatik olarak oluşturulur ve hacmi belgenin ana konularına ve ayarlara bağlıdır. Anaforik belge cümleleri, özellik veya konu açıklamalarına dahil edilebilir. Ek olarak, bu belge koleksiyonunun anlamsal ağındaki konuların ilişkilerine dayalı genel bir açıklama oluşturmak için bir bileşen vardır.

Günlük konuşmada, "arama motoru" terimi, bir kullanıcının arama sorgusuna yanıt olarak bu belgelerin sıralı bir alt kümesini elde etmesine olanak tanıyan bir kullanıcı arayüzü ile sağlanan bir belgeler veritabanından oluşan yazılımı ifade eder. Bir arama motorunun ana görevi, belirli bir sorguya yanıt olarak mümkün olan en iyi alt kümeyi, yani kullanıcının aradığı şeyle en iyi eşleşen belgeler kümesini (genellikle azalan ilgi sırasına göre) seçmektir.

Her yerde kullanılan arama motorlarının en yaygın örnekleri, dünya çapındaki web sunucularında depolanan metinsel bilgileri (HTML ve PDF belgeleri gibi) bulmak için kullanılan Web arama motorlarıdır (Google ve Yahoo gibi). Kurumsal intranetlerde bilgi aranırken benzer teknolojiler kullanılır.

Bir arama motorunun resmi bileşenleri

Çoğu arama motorunun iki ana bağımsız bileşeni vardır: bir indeksleme bileşeni ve bir arama bileşeni. Yalnızca arama bileşeni kullanıcı tarafından kullanılabilir. Dizin oluşturma bileşeni, gerekli bilgilerin aranacağı verinin verimli bir dahili görünümünü oluşturmak için kullanılır ve arama bileşeni, bir kullanıcının arama sorgusuna yanıt olarak dahili veritabanından sonuçları almaktan sorumludur.

Dizin oluşturma bileşeni, belgeleri arama ortamından arama motorunun yeterli bir dahili temsiline dönüştürme işlevini yerine getirir. Aramanın yapılacağı belgeler kümesine evren denir. Bir İnternet arama motoru için bunlar web'den indirdiğimiz sayfalardır, bir grafik arama motoru için bir dizi resim olacaktır ve akademik bir arama motoru için evren, örneğin bir koleksiyon ile temsil edilecektir. eserler, makaleler ve kitaplar. Evrenin içsel temsili olan belgeler kümesine havuz denir. Depo, kural olarak, ilişkili benzersiz tanımlayıcılara sahip belgeleri içerir (genellikle DOCID ile gösterilirler). Evrendeki bir belgenin arşivdeki her temsili öncelikle arama motoruna bağlıdır.

Bir arama sorgusuyla eşleşen bir seçim yapmak için bir havuzda bulunan belgelere erişen bir arama bileşeni düşünün. Resmi olarak, arama bileşeni, bir arama sorgusunu, yani kullanıcı tarafından girilen son dizeyi, bu sorguyla ilgili bir dizi belgeye dönüştüren bir program olarak temsil edilebilir. Bir arama sorgusunun genellikle, aranan atomik kelimeler olan terimlerden ve terimlerin nasıl yorumlandığını açıklayan operatörlerden oluştuğu düşünülür. Örneğin, "Markov zincirleri" arama sorgusunda, sorgu "Markov" ve "zincirler" terimlerinden oluşur. Bu durumda operatör, bu terimlerin her ikisini de içeren belgelere ihtiyacımız olduğunda bir durumu tanımlayan mantıksal bir "VE" olacaktır. Döndürülen belge sayısı, belirli bir arama sorgusu için arama performansı olarak adlandırılır.

Arama bileşeninin sonucu, kullanıcıya sağlanan bilgilerdir. Döndürülen küme öğeleri, arama motorunun sonuç kümesine dahil edilmeye uygun gördüğü tüm belgelerdir. Ayrıca, sonuç kümesindeki öğeler, ilkinin kullanıcı için ikincisinden daha anlamlı olduğu düşünülecek şekilde düzenlenir ve bu böyle devam eder. Doğruluk, iade edilen ve gerçekten alakalı olan belgelerin oranıyla belirlenir.

Burada, alaka kavramı tamamen keyfidir ve tamamen arama motoruna (veya muhtemelen kullanıcılarına) bağlıdır.

Bir arama sorgusu ve bir havuza dayalı olarak ortaya çıkan belge kümesini elde etme problemini ele alalım. Arama motoru genellikle iki aşamada seçim yapar:

Depodan çok sayıda başvuru sahibinin seçimi - öyle ki, içindeki tüm öğeler arama sorgusu ile az çok alakalı. Bu aşamada ilgililiğin tanımı çok yaklaşıktır. Örneğin, aşağıda tartışılan mantıksal yöntem kullanılabilir.

Başvuranlar grubunun her bir belgesi için uygunluğu belirlenir ve ardından set, azalan alaka düzeyine göre sıralanır. Sıralama işlemi sırasında, alaka düzeyi eşik değerinin altında olan bazı öğeler seçimden çıkarılabilir.

Birçok başvuranı belirlemek için mantıklı bir yöntem

Genellikle mantıksal bir yöntem kullanılarak gerçekleşen bir dizi başvuru sahibini belirleme sürecini düşünün. Bu yöntemin ana fikri, sonuçta ortaya çıkan bir arama sorgusu kümesinin (örneğin, "Markov zincirleri" gibi) yalnızca tüm benzersiz sorgu terimleriyle ilgili sayfaları içermesi gerektiğidir (bu durumda, bunlar "Markov" olacaktır). ve "zincirler") ... Arama sorgusu, daha sonra, "Markov" ve "zincirler" terimlerini içeren tüm belgeler incelendikten sonra, sonuçta ortaya çıkan başvuru kümesi olarak bu terimlerin kesişimini içeren belgeler kullanılarak yanıtlanabilir.

Bunun nedeni, dizin oluşturma bileşeninin ana görevinin, bu sözcükleri içeren belgelerin (veya DOCID'lerin) terimlere (örneğin bir görsel arama motorunda bir uzantı olarak) atandığı bir veri yapısı olan ters çevrilmiş bir dizin oluşturmak olmasıdır. "Yüz" terimi, kişileri içeren olarak sınıflandırılan tüm belgelere bağlanabilir).

Bir arama motoru, İnternet'te arama yapmak ve bir metin ifadesi (arama sorgusu) biçiminde belirtilen bir kullanıcının isteğine, alaka düzeyine göre bilgi kaynaklarına bağlantıların bir listesini yayınlayarak yanıt vermek için tasarlanmış bir yazılım ve donanım kompleksidir. (talep doğrultusunda). Başlıca uluslararası arama motorları: "Google", yahoo, "MSN"... Rus internetinde - yandex, Rambler, "Aport".

Arama motorlarının temel özelliklerini açıklayalım:

    eksiksizlik

Tamlık, bir arama motorunun temel özelliklerinden biridir; bu, istek üzerine bulunan belge sayısının, İnternet'te bu isteği karşılayan toplam belge sayısına oranıdır. Örneğin, İnternette “nasıl araba seçilir” ifadesini içeren 100 sayfa varsa ve ilgili sorgu için bunlardan yalnızca 60 tanesi bulunduysa, aramanın eksiksizliği 0,6 olacaktır. Açıktır ki, arama ne kadar eksiksiz olursa, kullanıcının ihtiyaç duyduğu belgeyi, İnternet'te mevcut olması koşuluyla, bulamama olasılığı o kadar düşüktür.

    Kesinlik

Doğruluk, bulunan belgelerin kullanıcının isteğiyle eşleşme derecesine göre belirlenen bir arama motorunun diğer bir temel özelliğidir. Örneğin, "bir araba nasıl seçilir" sorgusu 100 belge içeriyorsa, 50 tanesi "nasıl araba seçilir" ifadesini içerir ve geri kalanı sadece bu kelimeleri içerir ("doğru radyo teyp nasıl seçilir ve kurulur" arabada"), arama doğruluğu 50/100'e (= 0,5) eşit olarak kabul edilir. Arama ne kadar doğru olursa, kullanıcı ihtiyaç duyduğu belgeleri o kadar hızlı bulur, aralarında o kadar az çeşitli "çöp" ile karşılaşılır, bulunan belgeler istekle o kadar az eşleşmez.

    alaka

Alaka düzeyi, belgelerin İnternette yayınlandıkları andan arama motorunun dizin tabanına girilene kadar geçen süre ile karakterize edilen, aramanın eşit derecede önemli bir bileşenidir. Örneğin, ilginç haberlerin ortaya çıkmasından sonraki gün, çok sayıda kullanıcı ilgili sorgularla arama motorlarına yöneldi. Nesnel olarak, bu konuyla ilgili haber bilgilerinin yayınlanmasından bu yana bir günden az bir süre geçti, ancak ana belgeler zaten dizine eklendi ve büyük arama motorlarında "hızlı temel" olarak adlandırılan bir varlığın varlığı sayesinde arama için hazır, hangi günde birkaç kez güncellenir.

    Arama hızı

Arama hızı, strese karşı direnci ile yakından ilişkilidir. Örneğin, Rambler Internet Holding LLC'ye göre, bugün iş saatlerinde Rambler arama motoru saniyede yaklaşık 60 sorgu alıyor. Bu tür bir iş yükü, bireysel bir talebin işlem süresinde bir azalma gerektirir. Burada, kullanıcının ve arama motorunun çıkarları örtüşmektedir: ziyaretçi, sonuçları olabildiğince çabuk almak ister ve arama motorunun, aşağıdaki sorguların hesaplanmasını yavaşlatmamak için sorguyu olabildiğince hızlı işlemesi gerekir.

    görünürlük

Sonuçların görünürlüğü, kullanıcı dostu bir aramanın önemli bir bileşenidir. Çoğu sorgu için arama motoru yüzlerce hatta binlerce belge bulur. Sorguların formülasyonundaki netlik eksikliği veya aramanın yanlışlığından dolayı, arama sonuçlarının ilk sayfaları bile her zaman sadece gerekli bilgileri içermemektedir. Bu, kullanıcının genellikle bulunanlar listesinde kendi aramasını yapması gerektiği anlamına gelir. Arama motoru sonuç sayfasının çeşitli öğeleri, arama sonuçlarında gezinmenize yardımcı olur.Arama sonuçları sayfasında, örneğin Yandex'den ayrıntılı açıklamalar bağlantıda bulunabilir. http://help.yandex.ru/search/?id=481937.

4. Arama motorlarının gelişiminin kısa bir tarihi

İnternetin gelişiminin ilk döneminde, kullanıcı sayısı azdı ve mevcut bilgi miktarı nispeten azdı. Çoğunlukla, yalnızca araştırma görevlilerinin internete erişimi vardı. O zamanlar internette bilgi arama işi şimdiki kadar acil değildi.

Ağın bilgi kaynaklarına erişimi düzenlemenin ilk yollarından biri, konuya göre gruplandırılmış kaynaklara bağlantılar olan açık site kataloglarının oluşturulmasıydı. Bu tür ilk proje, 1994 baharında açılan Yahoo.com sitesiydi. Yahoo dizininde yer alan sitelerin sayısı önemli ölçüde arttıktan sonra, dizinde istenilen bilgileri arama özelliği eklendi. Tam anlamıyla, henüz bir arama motoru değildi, çünkü arama alanı tüm İnternet kaynaklarıyla değil, yalnızca dizinde bulunan kaynaklarla sınırlıydı.

Bağlantı dizinleri geçmişte yaygın olarak kullanılıyordu, ancak günümüzde popülerliklerini neredeyse tamamen yitirdiler. Modern bile olsa, hacimleri açısından büyük olduğundan, kataloglar İnternet'in yalnızca önemsiz bir kısmı hakkında bilgi içerir. DMOZ ağının en büyük dizini (Açık Dizin Projesi olarak da adlandırılır) 5 milyon kaynak hakkında bilgi içerirken, Google arama motoru tabanı 8 milyardan fazla belgeden oluşur.

İlk tam teşekküllü arama motoru, 1994'te yayınlanan WebCrawler projesiydi.

1995 yılında Lycos ve AltaVista arama motorları ortaya çıktı. Son yıllarda internette bilgi arama alanında liderdi.

1997'de Sergey Brin ve Larry Page, Stanford Üniversitesi'ndeki bir araştırma projesinin parçası olarak Google arama motorunu yarattı. Google şu anda dünyanın en popüler arama motoru!

Eylül 1997'de, Rusça konuşulan İnternet'te en popüler olan Yandex arama motoru resmen açıklandı.

Şu anda, kendi veritabanlarına ve arama algoritmalarına sahip olan üç ana uluslararası arama motoru vardır - Google, Yahoo ve MSN. Geri kalan arama motorlarının çoğu (ki bunların çok sayıda vardır), listelenen üçünün sonuçlarını şu veya bu biçimde kullanır. Örneğin, AOL araması (search.aol.com) bir Google tabanını kullanırken AltaVista, Lycos ve AllTheWeb bir Yahoo tabanını kullanır.

5. Arama motorunun bileşimi ve ilkeleri

Rusya'da ana arama motoru Yandex'dir, o zaman - Rambler.ru, Google.ru, Aport.ru, Mail.ru. Ayrıca, şu anda Mail.ru Yandex arama motorunu ve veritabanını kullanıyor.

Hemen hemen tüm büyük arama motorlarının diğerlerinden farklı olan kendi yapıları vardır. Ancak, tüm arama motorlarında ortak olan ana bileşenleri ayırmak mümkündür. Yapıdaki farklılıklar ancak bu bileşenlerin etkileşimi için mekanizmaların uygulanması şeklinde olabilir.

indeksleme modülü

İndeksleme modülü üç yardımcı programdan (robot) oluşur:

Örümcek (örümcek) - web sayfalarını indirmek için tasarlanmış bir program. Örümcek sayfayı indirir ve o sayfadaki tüm dahili bağlantıları çıkarır. Her sayfanın html kodu indirilir. Robotlar sayfaları indirmek için HTTP protokollerini kullanır. "Örümcek" aşağıdaki gibi çalışır. Robot, sunucuya “get / path / document” isteğini ve diğer bazı HTTP istek komutlarını gönderir. Yanıt olarak robot, hizmet bilgilerini ve belgenin kendisini içeren bir metin akışı alır.

    sayfa url'si

    sayfanın indirildiği tarih

    sunucu yanıtı http başlığı

    sayfa gövdesi (html kodu)

Paletli ("gezici" örümcek) - sayfada bulunan tüm bağlantıları otomatik olarak tarayan bir program. Sayfada bulunan tüm bağlantıları vurgular. Görevi, bağlantılara veya önceden tanımlanmış bir adres listesine dayanarak örümceğin bir sonraki nereye gitmesi gerektiğini belirlemektir. Crawler, bulunan bağlantıları izleyerek, arama motorunun hâlâ bilmediği yeni belgeleri arar.

Indexer, örümcekler tarafından indirilen web sayfalarını analiz eden bir programdır. Dizin oluşturucu, sayfayı bileşen parçalarına ayrıştırır ve bunları kendi sözcüksel ve biçimbilimsel algoritmalarını kullanarak analiz eder. Metin, başlıklar, bağlantılar, yapısal ve stil özellikleri, özel hizmet html etiketleri vb. gibi çeşitli sayfa öğeleri analiz edilir.

Böylece indeksleme modülü, belirli bir kaynak kümesini bağlantılarla taramanıza, karşılaşılan sayfaları indirmenize, alınan belgelerden yeni sayfalara bağlantılar çıkarmanıza ve bu belgelerin eksiksiz bir analizini yapmanıza olanak tanır.

Veri tabanı

Bir veritabanı veya bir arama motorunun indeksi, bir veri depolama sistemidir, indeksleme modülü tarafından indirilen ve işlenen tüm belgelerin özel olarak dönüştürülmüş parametrelerini saklayan bir bilgi dizisidir.

Arama Sunucusu

Arama sunucusu, aramanın kalitesi ve hızı, işleyişinin altında yatan algoritmalara doğrudan bağlı olduğundan, tüm sistemin temel bir unsurudur.

Arama motoru şu şekilde çalışır:

    Kullanıcıdan gelen istek morfolojik analize tabi tutulur. Veritabanında yer alan her belgenin bilgi ortamı oluşturulur (daha sonra bir snippet olarak, yani arama sonuçları sayfasında talebe karşılık gelen metin bilgisi olarak görüntülenecektir).

    Alınan veriler, özel bir aralık modülüne giriş parametreleri olarak iletilir. Veriler, tüm belgeler için işlenir, bunun sonucunda, her belge için, kullanıcı tarafından girilen sorgunun ve bu belgenin arama motoru dizininde saklanan çeşitli bileşenlerinin alaka düzeyini karakterize eden kendi derecelendirmesi hesaplanır.

    Kullanıcının seçimine bağlı olarak, bu derecelendirme ek koşullarla (örneğin, "gelişmiş arama" olarak adlandırılan) ayarlanabilir.

    Daha sonra, bir snippet oluşturulur, yani bulunan her belge için başlık, istekle en iyi eşleşen kısa bir açıklama ve belgenin kendisine bir bağlantı belge tablosundan çıkarılır ve bulunan kelimeler vurgulanır.

    Ortaya çıkan arama sonuçları, bir SERP (Arama Motoru Sonuç Sayfası) - arama sonuçları sayfası şeklinde kullanıcıya iletilir.

Gördüğünüz gibi, tüm bu bileşenler birbiriyle yakından ilişkilidir ve etkileşim içinde çalışarak arama motoru çalışması için çok büyük bir kaynak harcaması gerektiren açık, oldukça karmaşık bir mekanizma oluşturur.

Hiçbir arama motoru tüm İnternet kaynaklarını kapsamaz.

Her arama motoru, kendi benzersiz yöntemlerini kullanarak İnternet kaynakları hakkında bilgi toplar ve periyodik olarak güncellenen kendi veritabanını oluşturur. Bu veritabanına erişim kullanıcıya sağlanır.

Arama motorları bir kaynağı bulmak için iki yol uygular:

    Tematik olarak ara kataloglar - bilgi hiyerarşik bir yapı şeklinde sunulur. En üst düzeyde genel kategoriler vardır (“İnternet”, “İş”, “Sanat”, “Eğitim” vb.), sonraki düzeyde kategoriler bölümlere ayrılmıştır vb. En düşük seviye, belirli web sayfalarına veya diğer bilgi kaynaklarına bağlantılardır.

    Anahtar kelime araması (dizin araması veya ayrıntılı) - kullanıcı arama motoruna gönderir soruşturma anahtar kelimelerden oluşmaktadır. sistem İadeler kullanıcıya istek üzerine bulunan kaynakların bir listesi.

Çoğu arama motoru, her iki arama yöntemini de birleştirir.

Arama motorları yerel, küresel, bölgesel ve özel olabilir.

İnternetin Rus kısmında (Runet), en popüler arama motorları Rambler (www.rambler.ru), Yandex (www.yandex.ru), Aport (www.aport.ru), Google (www.google. ru).

Çoğu arama motoruportallar olarak uygulanmaktadır.

Portal (İngilizce'den.portal- ana giriş, kapı), çeşitli İnternet hizmetlerini entegre eden bir web sitesidir: arama araçları, posta, haberler, sözlükler, vb.

Portallar özelleştirilebilir (örneğin,www. müze. ru) ve genel (örneğin,www. km. ru).

Anahtar kelime araması

Aranmakta olan anahtar kelime kümesine arama kriteri veya arama konusu da denir.

Bir istek, bir kelimeden veya operatörler tarafından birleştirilen kelimelerin bir kombinasyonundan oluşabilir - sistemin hangi eylemi gerçekleştirmesi gerektiğini belirlediği semboller. Örneğin: “Moskova Peter” sorgusu AND operatörünü içerir (boşluk bu şekilde algılanır), bu da her iki kelimeyi de içeren belgeleri aramanız gerektiğini gösterir - Moskova ve Peter.

Bir aramanın alakalı olması için akılda tutulması gereken birkaç genel kural vardır:

    Kelimenin sorguda hangi biçimde kullanıldığına bakılmaksızın, arama, Rus dilinin kurallarına göre tüm kelime biçimlerini dikkate alır. Örneğin, “bilet” sorgusu “bilet”, “bilet” vb. kelimelerini de bulacaktır.

    Gereksiz referanslara bakmamak için sadece özel isimlerde büyük harf kullanın. Örneğin, "demircilerin" talebi üzerine, hem demircilerden hem de Kuznetsov'lardan bahseden belgeler bulunacaktır.

    Birkaç anahtar kelime kullanarak aramanızı daraltmanız önerilir.

    Gerekli adres, bulunan ilk yirmi adres arasında değilse, talebi değiştirmeniz gerekir.

Her arama motoru kendi sorgu dilini kullanır. Kendinizi tanımak için arama motorunun yerleşik yardımını kullanın.

Büyük sitelerin web sayfalarında yerleşik arama motorları olabilir.

Bu tür arama motorlarındaki sorgular, kural olarak, küresel arama motorlarıyla aynı kurallara göre oluşturulur, ancak buradaki yardıma aşinalık gereksiz olmayacaktır.

gelişmiş Arama

Arama motorları, kullanıcıya karmaşık bir sorgu oluşturmalarını sağlayan bir mekanizma sağlayabilir. Bir bağlantıyı takip etmek gelişmiş Arama arama parametrelerini düzenlemeyi, ek parametreleri belirlemeyi ve arama sonuçlarını görüntülemenin en uygun biçimini seçmeyi mümkün kılar. Applex ve Rambler sistemlerinde gelişmiş aramada ayarlanabilen parametreler aşağıdadır.

parametre açıklaması

Yandex'deki isim

AdıRambler

Anahtar kelimelerin nerede bulunacağı (belge başlığı, gövde metni vb.)

sözlük filtresi

Metin arama ...

Belgede hangi kelimelerin görünmesi veya olmaması gerektiği ve eşleşmenin ne kadar doğru olması gerektiği

sözlük filtresi

Sorgu sözcüklerini arayın ... Aşağıdaki sözcükleri içeren belgeleri hariç tutun ...

Anahtar kelimeler birbirinden ne kadar uzakta olmalıdır?

sözlük filtresi

Sorgu sözcükleri arasındaki mesafe...

Belge tarihi sınırı

Belge tarihi ...

Aramayı bir veya daha fazla siteyle sınırlandırın

Site / Üst

Belgeleri yalnızca aşağıdaki sitelerde arayın ...

Aramayı belge diline göre sınırlayın

Belge dili...

Belirli bir ada veya imzaya sahip bir resim içeren belgeleri arayın

resim

Nesne İçeren Sayfaları Bulma

Özel nesneler

Arama sonuçları sunum formu

Sayı biçimi

Arama sonuçlarını görüntüleme

Bazı arama motorları (örneğin Yandex), sorguları doğal dilde girmenize izin verir. Ne bulmanız gerektiğini yazarsınız (örneğin: Moskova'dan St. Petersburg'a bir tren bileti rezervasyonu). Sistem talebi analiz eder ve sonucu verir. Size uymuyorsa, sorgu diline geçin.