In informatica, con particolare riferimento alla rete Internet, per motore di ricerca si intende un programma accessibile da opportuni siti che permette di individuare informazioni di particolare interesse per l’utente.
1. Modalità di accesso
I motori di ricerca possono agire secondo varie modalità di accesso. Una prima modalità permette di selezionare la categoria di interesse e ottenere una lista di siti che contengono informazioni utili al riguardo (i m. di ricerca che agiscono in tal modo sono detti directories). In questo caso le categorie sono tipicamente organizzate in maniera gerarchica su 2 o 3 livelli: per es., la categoria ‘scienza e tecnologia’ può comprendere, tra le altre, le sottocategorie ‘astronomia’, ‘chimica’, ‘fisica’ e ‘matematica’; a sua volta quest’ultima può comprendere le sottocategorie ‘algebra’, ‘geometria’ e ‘probabilità’. Percorrendo i vari livelli gerarchici fino all’ultimo si ottiene la lista dei siti che riguardano l’argomento prescelto. In alternativa a questa modalità, si può interrogare il m. di ricerca fornendo una o più parole chiave che definiscono l’argomento di interesse. Queste parole chiave possono essere collegate con operatori booleani, i più diffusi dei quali sono AND (intersezione logica), OR (unione logica) e AND NOT (esclusione logica). Esistono inoltre tecniche avanzate di ricerca che utilizzano operazioni logiche a più livelli e operatori di prossimità (come NEAR).
2. Selezione e preselezione
In realtà, la ricerca non si svolge su tutti i siti presenti nel mondo, ma solamente su un insieme di siti preselezionati dal m. di ricerca stesso. L’attività di ogni m. di ricerca si compone delle fasi di preselezione dei siti e di creazione di un indice (detta fase di indicizzazione o indexing) e di ordinamento delle pagine in base alla loro rilevanza rispetto alla richiesta fatta dall’utente (detta fase di ordinamento o ranking). Per la selezione, il m. di ricerca parte da un insieme di siti ed esplora tutti i collegamenti che si diramano da questi siti di partenza. Questa esplorazione viene detta crawling e viene effettuata mediante opportuni programmi detti crawler (o spider o robot o softbot), i quali estraggono opportune porzioni di testo da ogni pagina e le rimandano a un altro programma che passa in scansione tutte le parole contenute in questo testo per creare un indice (che mette in corrispondenza le parole chiave con le pagine che le contengono). Parallelamente, altri programmi esplorano i siti precedentemente visitati dai crawler per verificare che siano ancora attivi, provvedendo a eliminarli dall’indice in caso contrario. Un motore di ricerca di grosse dimensioni può visitare decine di milioni di pagine al giorno.
Questo processo di ricerca è agevolato dal fatto che il proprietario di un sito può indicarlo al m. di ricerca e farlo così inserire nella lista dei siti da visitare. Non tutti i siti entrano però a far parte dell’indice, e ciò per diversi motivi: per es., le pagine che contengono richieste di password o di registrazione non possono essere visitate dal crawler, il quale quindi si blocca e non include le pagine nell’indice. Inoltre, vengono in genere preferite le pagine che contengono un elevato numero di collegamenti ad altri siti o che appartengono a categorie poco numerose.
Oltre ai m. di ricerca singoli esistono dei metamotori di ricerca che utilizzano contemporaneamente più m. di ricerca e presentano in maniera unificata i risultati finali del processo integrando le ricerche parziali compiute dai singoli m. interrogati.
3. Criterio di ordinamento dei motori di ricerca
Poiché ogni ricerca restituisce in genere un gran numero di pagine, queste vengono visualizzate in gruppi di 10 o 15, secondo l’ordinamento effettuato dal m. di ricerca. Il criterio di ordinamento varia da m. a m. e a volte non è reso noto (altre volte è definibile dall’utente). Un criterio molto diffuso è il TFIDF (term frequency inverse document frequency): compaiono ai primi posti quelle pagine che contengono la parola chiave con maggior frequenza e nel caso di espressioni contenenti più parole chiave vengono preferite quelle pagine che contengono le parole chiave meno frequenti; in altri termini, meno frequente è una parola chiave, più selettiva è la ricerca. È assodato che l’utente difficilmente va oltre il primo gruppo, per cui ai fini commerciali è preferibile che il sito venga incluso tra i primi, affinché venga visitato dal maggior numero di utenti. I progettisti di siti web tengono quindi in notevole considerazione i criteri di ordinamento dei m. di ricerca, operando a volte con mezzi poco leciti (pratiche dette di spamming). Per es., le tecniche di spamming possono incrementare artificialmente la frequenza di alcune parole chiave (per ovviare a questo stratagemma alcuni m. di ricerca contano una parola chiave non più di due volte) oppure introdurre parole chiave che non hanno nulla a che vedere con l’effettivo contenuto del sito, ma sono spesso presenti nelle ricerche effettuate dagli utenti.
4. Motori di ricerca per informazioni non testuali
I m. di ricerca fin qui descritti effettuano ricerche basate solo sui testi delle pagine. Si sono poi sviluppati m. di ricerca per informazioni non testuali. Esempi sono costituiti dalla ricerca su registrazioni audio o su immagini. Nel primo caso si ricorre in genere a una trascrizione automatica della registrazione mediante un programma di riconoscimento vocale, riconducendo così il problema a quello di una ricerca di testo all’interno della trascrizione. Per le immagini ci si è inizialmente limitati ad associare a ogni immagine una didascalia e a fornire, in seguito a una richiesta mediante una parola chiave, tutte le immagini la cui didascalia contenesse quella parola chiave; attualmente esistono m. di ricerca che permettono di partire da immagini chiave e non da parole chiave: in questo caso, ogni immagine viene segmentata in oggetti e vengono selezionate tutte quelle immagini contenenti forme simili all’immagine chiave.