{"id":867,"date":"2004-08-02T00:00:00","date_gmt":"2004-08-01T22:00:00","guid":{"rendered":""},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"867","status":"publish","type":"post","link":"https:\/\/www.vialattea.net\/content\/867\/","title":{"rendered":"Secondo quali criteri vengono effettuate le ricerche tramite i motori di ricerca (Google, ecc.) e quali linguaggi di programmazione sono atti a implementare tali algoritmi."},"content":{"rendered":"<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><\/p>\n<p>L&#8217;attivit\u00e0 di un motore di ricerca \u00e8 suddivisa in due fasi<br \/>\nnettamente distinte:<\/p>\n<p>1)\u00a0ricerca delle informazioni,<br \/>\n2)\u00a0risposta alle richieste da parte degli utilizzatori.<\/p>\n<p>Entrambe le fasi vengono effettuate da sistemi complessi, costituiti da<br \/>\nnumerosi computer che utilizzano vari programmi ciascuno dei quali<br \/>\npu\u00f2 essere realizzato con linguaggi diversi.<br \/>\n<\/font><\/p>\n<p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Esaminiamo un po&#8217; pi\u00f9 in dettaglio le due fasi.<br \/>\n<\/font><\/p>\n<\/p>\n<h3><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"> Ricerca delle informazioni<\/font><\/h3>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Il primo compito di un motore di ricerca consiste nel &#8220;navigare&#8221; per la rete<br \/>\nInternet per trovare le informazioni. Questo servizio viene svolto da programmi<br \/>\nchiamati robot, <i>spider<\/i> (ragni) o <i>crawlers<\/i> (nuotatori).<br \/>\nSi tratta di programmi che a partire da un certo insieme di URL<a href=\"http:\/\/www.vialattea.net\/esperti\/php\/risposta.php?num=5192#nota1\"><sup>1<\/sup><\/a><br \/>\nseguono la struttura ipertestuale del Web per accedere ai documenti disponibili<br \/>\ne generare indici dei termini in essi contenuti.<br \/>\n<\/font><\/p>\n<p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Il funzionamento di un robot \u00e8 semplice: mentre analizza ogni documento<br \/>\nestrae le URL in esso contenute e ne fa un elenco, che poi utilizza per<br \/>\naccedere a nuovi documenti, e cos\u00ec via, ricorsivamente.<br \/>\nIl risultato dell&#8217;analisi \u00e8 costituito da indici, ovvero da elenchi di<br \/>\ntermini associati alla URL del documento che li contiene. Questi indici vengono<br \/>\nutilizzati nella fase di ricerca per proporre all&#8217;utilizzatore un elenco<br \/>\ndi URL contenenti il termine cercato.<br \/>\n<\/font><\/p>\n<p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Anche se il principio \u00e8 semplice, l&#8217;effettiva implementazione<br \/>\ndi un robot efficace pu\u00f2 essere complessa. Infatti l&#8217;ampiezza<br \/>\ndella rete \u00e8 talmente grande che occorrono apposite strategie per<br \/>\nconsentire di ottimizzare la ricerca: ad esempio si possono utilizzare<br \/>\nvari robot in punti diversi della rete, ma questi devono coordinarsi fra<br \/>\nloro in modo da evitare di accedere agli stessi documenti. Inoltre<br \/>\noccorre tenere conto del fatto che i documenti in rete cambiano pi\u00f9<br \/>\no meno frequentemente e quindi la ricerca va ripetuta continuamente.<br \/>\nLe effettive<br \/>\nstrategie di ricerca sono di solito tenute segrete perch\u00e9 possono<br \/>\ncostituire un vantaggio per il motore di ricerca che adotta una strategia<br \/>\nmigliore di altri.<br \/>\n<\/font><\/p>\n<p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Un altro aspetto fondamentale \u00e8 costituito dalle tecniche di<br \/>\nindicizzazione. \u00c8 evidente che un semplice indice che associa<br \/>\nad un particolare termine un elenco di URL diventa presto quasi inutilizzabile.<br \/>\nTutti i motori di ricerca hanno sviluppato algoritmi per associare ad ogni<br \/>\nURL un coefficiente di &#8220;rilevanza&#8221;, ovvero una sorta di misura di quanto<br \/>\nla particolare URL pu\u00f2 contenere informazioni importanti rispetto al<br \/>\ndato termine. Questo coefficiente viene calcolato, ad esempio, tenendo<br \/>\nconto del numero di volte che il termine compare, del fatto che compaia in<br \/>\nun titolo e di molti altri parametri. Questo aspetto, ancora pi\u00f9 dell&#8217;efficienza, \u00e8<br \/>\nimportante per garantire risposte utili agli utilizzatori, quindi gli algoritmi<br \/>\ndi indicizzazione sono tenuti segretissimi perch\u00e9 costituiscono<br \/>\nla principale differenza fra un motore ed un altro.<\/p>\n<p><\/font><\/p>\n<h3><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Risposta alle richieste degli utilizzatori<\/font><\/h3>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Tutti<br \/>\ncoloro che usano anche sporadicamente i servizi della rete<br \/>\nInternet utilizzano qualche motore di ricerca ed hanno quindi ben<br \/>\npresente il loro funzionamento: la funzione principale consiste nel<br \/>\nproporre un certo numero di URL &#8220;rilevanti&#8221; relativamente ai termini<br \/>\nutilizzati per la ricerca. Per valutare la rilevanza vengono utilizzati<br \/>\ni coefficienti<br \/>\ndi cui abbiamo parlato nel paragrafo precedente.<br \/>\n<\/font><\/p>\n<p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Anche in questo caso il principio di funzionamento \u00e8 semplice, ma<br \/>\nil compito \u00e8 reso complesso dalla quantit\u00e0 delle informazioni<br \/>\nche devono essere gestite. Mentre stiamo scrivendo (luglio 2004)<br \/>\nvengono attribuite al motore Google 3,3 miliardi di pagine indicizzate ed al<br \/>\nmotore Alltheweb 3,1 miliardi di pagine. \u00c8 evidente che<br \/>\nper rendere sufficientemente rapide le ricerche e quindi le risposte<br \/>\noccorre utilizzare sistemi di database particolarmente ottimizzati per questo<br \/>\ntipo di ricerca e computer di potenza adeguata.<br \/>\n<\/font><\/p>\n<p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Ad esempio il motore Google si basa<a href=\"http:\/\/www.vialattea.net\/esperti\/php\/risposta.php?num=5192#nota2\"><sup>2<\/sup><\/a><br \/>\nsu numerosi server distribuiti nel mondo;<br \/>\nciascuno di questi server \u00e8 costituito da un &#8220;cluster&#8221; di<br \/>\nmigliaia di PC con vari livelli di ridondanza, in grado di sopportare<br \/>\nvari tipi di guasto senza interrompere il servizio. Gli indici<br \/>\nrichiedono parecchi Terabyte di dati suddivisi fra i PC che costituiscono<br \/>\nil cluster. Ogni operazione di ricerca viene distribuita<br \/>\nsu molti PC che operano in modo collaborativo.<br \/>\n<\/font><\/p>\n<p>\n<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Gran parte dell&#8217;architettura software di Google \u00e8 implementata in C\/C++<br \/>\ne pu\u00f2 operare indifferentemente su sistema operativo<br \/>\nSolaris o Linux<a href=\"http:\/\/www.vialattea.net\/esperti\/php\/risposta.php?num=5192#nota3\"><sup>3<\/sup><\/a>.<\/p>\n<p><\/font><\/p>\n<h3><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Approfondimenti:<\/font><\/h3>\n<ul><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><\/p>\n<li> <a href=\"http:\/\/www-db.stanford.edu\/%7Ebackrub\/google.html\"><br \/>\nThe Anatomy of a Large-Scale Hypertextual Web Search Engine<\/a><\/p>\n<\/li>\n<li> <a href=\"http:\/\/www.computer.org\/micro\/mi2003\/m2022.pdf\"><br \/>\nWeb Search for a Planet: The Google Cluster Architecture<\/a><\/p>\n<\/li>\n<li><a href=\"http:\/\/searchenginewatch.com\/resources\/article.php\/2156601\"><br \/>\nUna raccolta di link <\/a>\n<\/li>\n<p><\/font><\/ul>\n<\/p>\n<hr\/>\n<p><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><b>Note:<\/b><br \/>\n<\/font><\/p>\n<ol><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><\/p>\n<li><a name=\"nota1\">Il termine URL (Universal Resource Locator) indica<br \/>\nl&#8217;indirizzo di un documento nella rete web. Ad esempio l&#8217;indirizzo di<br \/>\nquesto documento che state leggendo \u00e8:<br \/>\n<tt>http:\/\/www.vialattea.net\/esperti\/php\/risposta.php?numero=5192<\/tt>.<br \/>\n<\/a><\/p>\n<\/li>\n<li><a name=\"nota1\"> Questi dati sono tratti da un articolo del marzo 2003. Lo stesso<br \/>\n     articolo sostiene che le apparecchiature vengono sostituite in modo<br \/>\n     scaglionato nel tempo, ma comunque ciascun PC ha una vita operativa<br \/>\n     compresa fra due e tre anni.<br \/>\n<\/a><\/p>\n<\/li>\n<li><a name=\"nota1\"> Vedere ad esempio:<br \/>\n<\/a><a href=\"http:\/\/www.computer.org\/micro\/mi2003\/m2022.pdf\"><br \/>\nhttp:\/\/www.computer.org\/micro\/mi2003\/m2022.pdf<\/a>\n<\/li>\n<p><\/font><\/ol>\n<p>\u00a0 <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[&#8230;]<\/p>\n","protected":false},"author":198,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[62],"tags":[],"class_list":["post-867","post","type-post","status-publish","format-standard","hentry","category-software"],"_links":{"self":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts\/867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/users\/198"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/comments?post=867"}],"version-history":[{"count":0,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/posts\/867\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/media?parent=867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/categories?post=867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vialattea.net\/content\/wp-json\/wp\/v2\/tags?post=867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}