Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: MySQL e le ricerche FULL TEXT :: Indice Php

MySQL e le ricerche FULL TEXT

Categoria: Php Inserito il: 05-09-2006 Stampa (7580 click)

Uno dei vantaggi nell'utilizzo dei database per l'allocazione dei dati è quello di poter effettuare delle ricerche all'interno delle informazioni memorizzate. Nel caso particolare delle ricerche testuali, MySQL mette a disposizione un'avanzata metodologia di ricerca chiamata FULL TEXT che permette di ottenere risultati scelti sulla base della pertinenza tra chiave di ricerca e contenuti.

L'operatore LIKE, utilizzatissimo per le interrogazioni di ricerca testuale, si limita esclusivamente a reperire all'interno dei dati allocati la stringa passata come parametro di input; la metodologia FULL TEXT invece, effettua un confronto tra i diversi contenuti restituendo prioritariamente quello dotato dello SCORE (livello di pertinenza) più elevato.

La possibilità di effettuare ricerche FULL TEXT in un database MySQL è stata introdotta per la prima volta con la versione 3.23.23. del DBMS, ma soltanto a partire dalla 4.1 questa opzione è stata implementata del tutto e resa utilizzabile senza particolari interventi di amministrazione.

Alla base dei comportamenti di MySQL nelle ricerche FULL TEXT vi sono 5 variabili:

  1. ft_boolean_syntax: operatore per le ricerche di tipo logico/booleano.
  2. ft_max_word_len: dimensione massima delle singole stringhe indicizzate (valore predefinito a 254 char).
  3. ft_min_word_len: dimensione minima delle singole stringhe indicizzate (valore predefinito 4 char).
  4. ft_max_word_len_for_sort: dimensione massima delle stringhe indicizzabili nelle operazioni di ricostruzione dell'indice.
  5. ft_stopword_file: riferimento al file che contiene i nomi e i tipi di stringhe che non devono essere sottoposti ad indicizzazione.
Tutti i parametri riferiti a queste variabili sono suscettibili di modifiche; sarà per esempio possibile intervenire sul file fulltext.h modificando il valore relativo alla lunghezza massima delle stringhe indicizzate:
#define HA_FT_MAXLEN 254
Potremo inoltre modificare il file ft_static.c per aggiungere stringhe alla lista di quelle già escluse dall'indicizzazione:
#ifdef COMPILE_STOPWORDS_IN
 "parola",
 "altra parola",
#endif
Gli interventi sulle variabili possono però necessitare la ricostruzione degli indici FULL TEXT, a questo scopo sarà possibile eliminare l'indice per poi ricrearlo con il noto comando REPAIR TABLE seguito dal nome della tabella interessata.

Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione,
anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle più importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Estrazione dei dati ordinati gerarchicamente
Ora che sappiamo come allocare categorie, sottocategorie e informazioni creando e rispettando un ordine gerarchico stabilito all'interno di una base... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti