Otsingumootor

**Otsingumootor** ehk **otsimootor** on arvutiprogramm (tavaliselt otsinguprogrammide-andmebaaside süsteem), mille väljundi abil saab veebis infot kiiremini leida. Otsimootor otsib kindlate tunnustega andmeid veebist ja FTP-serveritest. Päringu vastused esitatakse nimekirjana, mis võib koosneda viidetest veebilehtedele, piltidele, dokumentidele, videotele jt objektidele võrgus. Mõned otsingumootorid kaevandavad andmeid võrku ühendatud andmebaasidest või avatud loenditest. Erinevalt veebiregistritest-portaalidest, mida hooldavad toimetajad, uuendavad otsingumootorid infot reaalajas, käitades veebiämblike abil algoritme.

## Ajalugu

Veebi algusaegadel kasutati veebiserverite loetelu, mida toimetas Tim Berners-Lee ja majutas CERN-i serveris. 1992. aastast on alles ka üks ajalooline pilt Kuna internetti tekkis järjest kiiremini uusi veebiservereid, ei suutnud see loetelu enam kasvuga sammu pidada. NCSA lehel teatati uutest serveritest jaotises "What's New!" ('mida uut!').

Esimene tööriist, mida kasutati internetis otsimiseks, oli Archie. Nimi tähendas "archive" ('arhiiv') ilma "v"-ta. Selle lõid 1990. aastal Alan Emtage, Bill Heelan ja J. Peter Deutsch, arvutitehnika õpilased McGilli ülikoolist Montréalis. Programm laadis alla registri nimekirjad kõikidest failidest, mis asusid avalikes FTP võrgukohtades, luues failinimedega otsitava andmebaasi. Archie ei indekseerinud lehtede sisu, sest andmemahud olid piiratud, samas võis andmeid lihtsalt leida.

Gopheri loomine 1991. aastal Mark McCahilli poolt avas tee kahele uuele otsinguprogrammile: Veronica ja Jughead. Sarnaselt Archiega otsisid nad failinimesid ja pealkirju, mis olid salvestatud Gopheri indeksisüsteemidesse. Veronica võimaldas märksõnaotsingut enamikule Gopheri menüü pealkirjadele terves Gopheri nimekirjas. Jughead oli tööriist, mille abil võis leida menüü infot kindlatest Gopheri serveritest. Kuigi otsingumootori Archie nimi polnud viide Archie koomiksisarjale, said Veronica ja Jughead nime selle sarja tegelaste järgi ja viitasid niimoodi oma eelkäijale.

1993. aasta suvel ei olnud veebi jaoks ühtegi otsingumootorit, mitmeid spetsiaalseid katalooge hallati käsitsi. Oscar Nierstrasz Geneva Ülikoolist kirjutas seeria Perli skripte, mis perioodiliselt peegeldasid neid lehti ja nad kirjutasid need ümber standardvormingusse, mis moodustas W3Catalogi aluse. See oli esimene primitiivne veebis kasutatav otsingumootor ning anti välja 2. septembril 1993.

1993. aasta juunis lõi Matthew Gray arvatavasti esimese veebiroboti, Perli baasil loodud World Wide Web Wandereri ja kasutas seda Wandexi-nimelise indeksi loomiseks. Wandereri eesmärgiks oli mõõta veebi suurust, mida see tegi kuni 1995. aastate lõpuni. Veebi teine otsingumootor ALiweb ilmus novembris 1993. Aliweb ei kasutanud veebirobotit, vaid sõltus veebilehtede adminide teavitustest iga lehe olemasolu kohta.

JumpStation ('hüppejaam') kasutas veebirobotit veebilehtede leidmiseks ja neist registri ehitamiseks ning kasutas veebiankeeti kasutajaliidesena oma päringu programmina. See oli seega esimene WWW ressursi avastamise vahend, milles olid liidetud kolm põhilist otsingumootori omadust (roomamine, indekseerimine ja otsimine). Kuna platvormil, millel see jooksis, olid piiratud ressursid, piirdus selle indekseerimine ja seega ka otsimine pealkirjadega lehtedega, mida ämblik oli külastanud.

Üks esimesi täistekstiämbliku baasil toimivaid otsingumootoreid oli WebCrawler ('veebiämblik'), mis tuli välja 1994. aastal. Erinevalt eelkäijatest lasi see oma kasutajatel otsida iga sõna igal veebilehel, mis on sellest ajast saadik muutunud standardiks kõigile otsingumootoritele. See oli ka üks esimesi otsingumootoreid, mis sai tuntuks laiema avalikkuse ees.

Peagi loodi veel mitu otsingumootorit, mis konkureerisid omavahel populaarsuse pärast. Nende seas olid Magellan, Excite, Infoseek, Inktomi, Northern Light ja AltaVista. Yahoo! oli üks populaarsemaid viise inimesi huvitavate veebilehtede leidmiseks, kuid selle otsingufunktsioon toimis enda veebiregistril täistekstlehtede koopiate asemel. Info otsijad said vaadata ka registrit otsingusõnal põhineva otsingu asemel.

1996. aastal tahtis Netscape anda ühele otsingumootorile eksklusiivse lepingu, millega see muutuks Netscape'i brauseriga kaasasolevaks otsingumootoriks. Huvi selle vastu oli nii suur, et Netscape tegi tehingu viie suurema otsingumootoriga. 5 miljoni dollari eest aastas olid Netscape'i otsingulehel ringluses viis otsimootorit: Yahoo!, Magellan, Lycos, Infoseek ja Excite.

Otsingumootoreid peeti ka eredamateks tähtedeks 1990. aastate lõpu internetti investeerimise hulluses. Mitmel firmal läks turule sisenemine suurepäraselt, nad said avalikel pakkumistel rekordilisi tulusid. Mõned võtsid maha oma avalikud otsingumootorid ja turustasid ainult ettevõtetele mõeldud versioone nagu Northern Light.

2000. aasta paiku tõusis tippu Google'i otsingumootor. Firma saavutas paremaid tulemusi innovatsiooniga PageRank. See korduv algoritm hindab veebilehti PageRank-numbri alusel. Eeldatakse, et headele ja nõutud lehtedele lingitakse teistelt veebisaitidelt rohkem kui teistele. Google säilitas oma otsingumootoris ka minimalistliku kasutajaliidese, vastandina mitmetele konkurentidele, kelle otsingumootor oli veebiportaali sisse ehitatud.

2000. aastal hakkas Yahoo! kasutama otsingutulemuste saamiseks Google'it. Yahoo! hankis endale Inktomi 2002. ja Overture'i 2003. aastal. 2004 tuli ta välja oma otsingumootoriga, milles olid ühendatud Yahoo!-le kuuluvate rakenduste tehnoloogiad.

Microsoft lasi MSN Searchi välja 1998. aasta sügisel, kasutades Inktomi otsingutulemusi. 1999. aasta alguses hakkas leht näitama loetelusid Looksmartist, mis olid kokku segatud tulemustega Inktomist. 2004 hakkas Microsoft oma otsingutehnoloogiale üle minema. Microsofti taasmärgistatud otsingumootor Bing avati kasutajatele 1. juunil 2009.
29. juulil lõpetasid Yahoo! ja Microsoft lepingu, mille kohaselt hakkab Yahoo! Search toimima Microsoft Bingi tehnoloogia baasil.

## Kuidas otsingumootor töötab

Otsingumootor toimib sellises järjekorras:
# veebis "roomamine";
# indekseerimine, st sorteerimine, analüüsimine, markeerimine jne;
# päringutele sobivate vastuste otsimine.

Otsingumootorid toimivad salvestades infot mitmete veebilehtede kohta, mille nad otsivad välja HTML-ist endast. Need lehed leitakse veebiämbliku abil – see on automatiseeritud veebibrauser, mis järgib igat linki lehel. Erandeid saab teha robots.txt abil. Seejärel analüüsitakse iga lehe sisu, misjärel otsustatakse, kuidas seda indekseerida. Andmeid veebilehtede kohta hoitakse indeksi andmebaasides, et kasutada hilisemates päringutes, mis võib olla ka ühe sõna pikkune. Indeksi eesmärk on lubada info võimalikult kiiret leidmist. Mõned otsingumootorid, näiteks Google, salvestavad kas kõik või osa allika lehest ja ka infot veebilehtede kohta. Teised, nagu AltaVista, salvestavad iga sõna igalt lehelt, mis nad leiavad. Nii salvestatud leht omab tegelikku otsingumootori teksti, sest see oli see, mis tegelikult indekseeriti. Sellest on kasu, kui lehte on uuendatud ja otsingusõnu pole seal enam näha. Lehtede salvestamine võimaldab otsingu suurt täpsust, sest need võivad sisaldada andmeid, mida enam kusagil mujal ei leidu.

Kui kasutaja sisestab otsingumootorisse päringu, siis uurib mootor oma indekseid ja tagastab nimekirja parima sobivusega veebilehtedest vastavalt oma sisule, tavaliselt lühikese kokkuvõttega dokumendi pealkirjast ja mõnikord lõiguga tekstist. Indeks ehitatakse üles informatsioonist, mis salvestatakse koos andmetega vastavalt info indekseerimismeetodile. Seni pole aga ühtegi avalikku otsingumootorit, mis lubaks faile otsida kuupäeva alusel. Enamik otsingumootoreid toetab konnektorite JAH, VÕI ja EI kasutamist, et võimaldada täpsema päringu esitamist. Konnektorid lubavad kasutajal muuta ja laiendada otsingutingimusi. Mootorid otsivad sõnu või fraase täpselt nii, nagu need sisestati. Mõned otsingumootorid pakuvad arenenud võimalust, mis lubab kasutajal määrata võtmesõnade vahelist kaugust. On ka ideelisi otsinguid, kus uurimine sisaldab statistilise analüüsi kasutamist lehtedel, mis sisaldavad sõnu või fraase, mida otsitakse. Loomuliku keele päringud lubavad kasutajal sisestada küsimuse nõnda, nagu seda küsitaks teiselt inimeselt, üks selline sait on näiteks ask.com.

Otsingumootori tõhusus sõltub otsingutulemuste asjakohasusest. Kuigi teatud sõna või fraasi sisaldavaid lehekülgi on miljoneid, on mõned neist asjakohasemad, populaarsemad või usaldusväärsemad kui teised. Enamik otsingumootoreid kasutab meetmeid tulemuste järjestamiseks, et tuua "parimad" tulemused ettepoole. See, kuidas mootorid otsustavad, millised vasted on parimad ja millises järjekorras neid näidata, sõltub mootorist endast. Meetodid muutuvad aja jooksul samamoodi, nagu muutub interneti kasutamine ja tekivad uued tehnikad. Põhiliselt on olemas kahte tüüpi otsingumootoreid: üks on süsteem kindlaksmääratud ja hierarhiliselt järjestatud otsingusõnadega, mida on laialdaselt programmeeritud. Teine süsteem loob tagurpidi indeksi, analüüsides leitavat teksti ning toetub tugevamalt arvutile, mis teeb ära suurema osa tööst.

Enamik otsingumootoreid on äriprojektid, mis teenivad tulu reklaami müügiga. Reklaamiandjad maksavad, et enda lehekülge otsingutulemuste seas kõrgemale tõsta. Otsingumootorid, mis tulemusi raha eest ei järjesta, teenivad, näidates oma tavatulemuste kõrval otsingutulemustega seotud reklaame. Otsingumootor teenib raha iga kord, kui keegi avab ühe sellise reklaami.

## Turuosa
Google'i otsingumootori ülemaailmne populaarsus jõudis tippu aprillis 2010, kui saadi kätte 86,3% turuosa. Otsingumootorid nagu Yahoo! ja Bing olid populaarsemad Ameerikas kui Euroopas. Hiina Rahvavabariigis oli 2009. aasta juulis 61,6% turust Baidu käes.

NET MARKETSHARE kohaselt olid veebruaris 2021 otsimootorite turuosad maailmas järgmised: Google 72,68%, Bing 11,94%, Baido 11,72%, Yahoo! 1,81% ja ülejäänud jäid 2% sisse.

## Otsingumootorite kallutatus
Kuigi otsingumootorid on programmeeritud reastama veebilehti populaarsuse ja asjakohasuse järgi, on kogemustel põhinevast uurimistööst näha, et neis leidub poliitilisi, majanduslikke ja sotsiaalseid eelarvamusi. Nende eelarvamuste põhjuseks võivad olla majanduslikud, ärilised (nt firmad, mis reklaamivad end otsingumootorite abil võivad muutuda populaarsemaks loomulikes otsingutulemustes) ja poliitilised (nt otsingu tulemuste kustutamine, et olla vastavuses kohalike seadustega) protsessid. Üheks näiteks, kus otsingutulemusi üritatakse mõjutada poliitilistel, sotsiaalsetel või ärilistel põhjustel, on "Google Bombing".

## Veebiämblik
Veebiämblik on robotprogramm, mis otsib veebis kindla ja korrapärase meetodiga uusi veebidokumente ja lisab leitud tulemused andmebaasidesse. Nimetuse on programm saanud selle järgi, et see ronib veebis ringi, nii nagu ämblik oma võrgul. Paljud otsingumootorite saidid kasutavad veebiämblikke, et tagada uusima info näitamine otsingutulemustes.
Kiirete otsingutulemuste saamiseks kasutatakse veebiämblikke, mis teevad külastatud lehtedest koopia, mida saab hiljem töödelda.
Ämblikke võib kasutada veebilehtedel automaatseteks hooldustöödeks nagu linkide kontrollimine või HTML-koodi kinnitamine.
Lisaks võib neid kasutada ka veebilehtedelt kindla info leidmiseks, näiteks kogutakse e-posti aadresse rämpsposti saatmise eesmärgil.

### Tööpõhimõte
Veebiämblikel on alguses nimekiri URL-idest, mida nad peavad külastama. Iga kord, kui ta külastab ühte URL-i, tuvastab see kõik lehel olevad hüperlingid ja lisab need oma URL-ide nimekirja. Kõiki linke külastatakse kindlate reeglite järgi ja veebiämbliku käitumine oleneb nende reeglite kooskõlast:
* valikureegel, mis määrab, milliseid lehti alla laadida;
* taaskülastusreegel, mis määrab, millal kontrollida lehtedes toimunud muudatusi;
* viisakusreegel, mis määrab, kuidas vältida lehtede ülelaadimist;
* paralleelsusreegel, mis määrab, kuidas kooskõlastada ämblikevahelist tööd.

### Avalike veebiämblike näiteid
* Yahoo! Slurp – Yahoo Searchi ämblik
* Bingbot – Microsoft Bingi veebiämblik, mis asendas Msnboti
* FAST Crawler – jagatud ämblik, mida kasutab Fast Search & Transfer
* Googlebot – Google'i ämblik, viite kirjeldus on ämbliku vanemast versioonist, mis oli kirjutadud C++ ja Pythoniga
* PolyBot – jagatud ämblik kirjutatud C++ ja Pythoniga, mis koosneb "ämblikuhaldurist", ühest või rohkemast "tõmbajast" ja ühest või rohkemast "DNSi lahendajast".
* RBSE – esimene avaldatud veebiämblik. See põhines kahel programmil: "spider" haldas järjekorda suhtelises andmebaasis ja "mite" oli modifitseeritud www ASCII brauser, mis laadis veebist lehti
* WebCrawlerit kasutati, et luua esimene veebi alamhulga avalikult kasutatav täistekstiregister
* World Wide Web Worm – esimene ämblik, mida kasutati lihtdokumentide nimede ja URL-ide nimekirja loomiseks.
* WebRACE – Javas teostatud roomav ja salvestav moodul, mida kasutatakse osana üldisemast süsteemist eRACE.

## Vaata ka
* Otsingumootoritele optimeerimine

## Viited