Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Come indicizza un motore di ricerca

Le tre fasi fondamentali alla base del funzionamento dei grandi motori
Le tre fasi fondamentali alla base del funzionamento dei grandi motori
Link copiato negli appunti

Vi siete mai chiesti come funzioni un motore di ricerca?
Se state leggendo questo articolo probabilmente la risposta è sì, almeno una volta nella vostra carriera di utente o professionista della rete.

Il funzionamento specifico di ciascun motore di ricerca, e sto parlando in questo caso di complessi e strutturati motori di ricerca come Google, MSN e Yahoo e non il motore di ricerca di un forum, è un segreto che ogni azienda custodisce gelosamente.
Salvo chi lo ha creato, non è possibile conoscere con precisione ed a fondo le caratteristiche degli algoritmi di un motore di ricerca e la natura dei calcoli eseguiti.

Ma allora, di che si parlerà in questo articolo?
Presto detto: ci sono alcune caratteristiche fondamentali di un motore di ricerca professionale imprescindibili dall'azienda e dagli algoritmi specifici. Alcuni dettagli legati al funzionamento che sono noti e consolidati ma che spesso non rientrano nel bagaglio culturale di quanti si avvicinano per le prime volte allo studio ed alla progettazione di questo tipo di architetture.
In questo articolo vedremo quindi in linea teorica quali sono le fasi principali dell'indicizzazione di un documento da parte di un motore di ricerca comune.

3 è il numero perfetto...

...recita un famoso detto popolare. Anche nel campo dei motori di ricerca vale questa regola poiché 3 sono le fasi fondamentali nel processo di indicizzazione.

  1. Scansione del web e salvataggio dei documenti: crawling.
  2. Creazione dell'indice di ricerca: indexing.
  3. Analisi dell'indice, valutazione dei risultati e visualizzazione nelle query: ranking.

Le precedenti sono grossomodo le 3 principali fasi di un motore di ricerca che abbia come obiettivo la gestione di un numero sufficientemente alto di dati.

Le caratteristiche ed i dettagli di ogni singolo procedimento possono differire notevolmente in base all'architettura del motore di ricerca e non è da escludere che alcuni possano prevedere ulteriori fasi.

Crawling

Il crawling è un processo estremamente meccanico grazie al quale un motore di ricerca recupera i dati necessari per costruire il suo indice.
Per eseguire il crawling sono utilizzati appositi programmi, chiamati di norma spider, bot o più semplicemente crawler, che scandagliano il web alla ricerca di pagine.

Il crawler scarica i documenti sui computer per consentire un processo di indexing più rapido ed efficace.
In questa fase lo spider, nella maggior parte delle volte, non si limita a salvare solo le pagine ma raccoglie una serie di informazioni correlate ed utili per autoalimentare la sua coda di documenti.

Durante le scansioni il crawler salva in una sua memoria la lista di nuovi URL identificati durante il salvataggio delle pagine.
Su questo grande taccuino lo spider annota sapientemente tutti i link che in futuro potrebbe dover seguire.
Saranno poi i progettisti ad indicare allo spider quali link seguire ed in quali modalità.

Il processo di raccolta dei link, estremamente banalizzato in precedenza, è in realtà decisamente complesso. È necessario progettare con maestria lo spider per evitare che lo stesso cada in processi di link che incastrerebbero il crawler in un ciclo infinito.

Allo stesso tempo è fondamentale che lo spider raccolga questi link poiché garantisce al motore di ricerca di autoalimentare sé stesso senza apparente bisogno di fornire manualmente nuove risorse.
È infatti ipotizzabile che passando da un sito all'altro sia possibile scandagliare almeno il 95% dell'intero world wide web.

Indexing

I dati scaricati dallo spider non sono immediatamente disponibili per le ricerche.

Come mai, verrebbe da chiedersi. Costruire un motore di ricerca è semplice, basta creare un sistema che cerchi le kwyword all'interno di un enorme database delle pagine scaricate, potrebbe sostenere qualcuno.

È vero, in effetti banalizzando un motore di ricerca è proprio questo, tuttavia una ricerca fulltext all'interno di un database, così si chiama in gergo, è fattibile solo nel caso in cui i dati siano relativamente limitati. Maggiore è il numero di dati nel database, in gergo record, maggiore è la lentezza e le risorse richieste per l'analisi tanto che una semplice query potrebbe impegare nel caso di Google anche qualche giorno a dare il risultato.

Non è la scelta giusta!
Come procedere allora? In questo caso è necessario costruire un indice, ovvero un sommario che dica al lettore dove trovare le informazioni desiderate ed in quale ordine. Immaginate che il lettore sia il sistema del motore di ricerca che deve assolutamente analizzare e restituire all'utente una risposta alla sua domanda nel più breve tempo possibile.

Creare un indice è un processo banale, creare un indice organizzato coerentemente non lo è.
Per velocizzare il più possibile questa fase entra in gioco il vantaggio che lavorare in locale è estremamente più performante che lavorare live. Questo è uno dei motivi del crawling.

Terminato l'indice il motore di ricerca sarebbe già in grado di dirvi quali pagine rispondono ai risultati della ricerca da voi digitata, tuttavia non è ancora capace di ordinarvi tali informazioni secondo criteri di qualità.
I dati in suo possesso sono solo quelli oggettivi come la data di creazione del documento, quella di salvataggio o il peso delle keyword.

È quindi necessaria la fase finale, l'assegnazione di un valore a ciascun risultato.

Ranking

L'attività di ranking è uno tra i processi più complicati nella creazione di un motore di ricerca.

A questo punto si ha a disposizione un indice, molti dati e molti contenuti ed è necessario rivalutare quell'indice per assegnare a ciascun elemento che lo compone un valore di qualità. Quale valore, come viene assegnato e su quale scala sono solo alcuni tra i concetti fondamentali che ogni sviluppatore di un motore di ricerca deve tenere conto a questo punto e probabilmente i primi fattori che non saranno resti pubblici esternamente per evitare fenomeni di SPAM.

Alcuni motori basano parte del calcolo affidandosi ai link in ingresso, altri alla collocazione della keyword nel testo, altri ancora alla sua frequenza all'interno del documento.

Terminato questo processo i dati sono pronti per essere mostrati al pubblico.
A seconda della quantità di informazioni disponibili potrebbe essere necessario un ulteriore lasso di tempo per l'aggiornamento di tutti i database correlati al motore, come ad esempio avviene nel caso di Google in quel periodo chiamato allineamento dei datacenter.

Finito? Non proprio.
I punti sopra descritti non hanno un termine stabilito ma verranno ripetuti all'infinito fin tanto che i dati da analizzare cambiano e si rinnovano.

Ti consigliamo anche