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

Home :: Php :: Indice Php

Operatori e ricerche FULL TEXT in MySQL

Inserito il: 05-09-2006


Esistono due metodi per operare una ricerca FULL TEXT, uno basato sulla ricerca semplice, l'altro basato sulla ricerca logico-booleana. In entrambi i casi la procedura di ricerca si basa su determinate istruzioni SQL:
MATCH (campi) AGAINST (chiave di ricerca)
SELECT nome_campo, MATCH (campi indicizzati) 
AGAINST ('chiave di ricerca')
FROM nome_tabella
Una volta eseguita l'istruzione verrà restituito un output basato sul principio della corrispondenza, quindi tutti i record verranno discriminati sulla base di un livello di corrispondenza detto SCORE espresso in valore decimale; più alto sarà lo SCORE maggiore sarà la pertinenza del risultato, i risultati ritenuti privi di corrispondenza verranno associati ad uno SCORE pari a zero.

L'istruzione presentata non permette però di filtrare i risultati ottenuti, infatti le ricerche FULL TEXT in realtà non ricercano stringhe ma pertinenze tra chiavi di input e contenuti memorizzati; da questo punto di vista sono quindi interessanti tutti i risultati anche quelli che non presentano corrispondenze, ciò che conta è la "classifica finale".

Saranno però sufficienti alcuni accorgimenti sintattici per ovviare alla problematica descritta e ottenere output filtrati da cui sono stati rimossi i record non rilevanti ai fini della ricerca:
SELECT nome_campo, MATCH (campi_indicizzati) 
AGAINST ('chiave di ricerca')
FROM nome_tabella
WHERE MATCH (campi_indicizzati) AGAINST (‘chiave di ricerca’)

In questo caso tutti i risultati pari a zero verranno classificati come FALSE in senso logico e non saranno presenti all'interno del risultato finale.

Per "raffinare" le nostre ricerche, abbiamo a disposizione una serie di operatori che potranno essere utilizzati per operare ulteriori filtraggi e restringere gli output soltanto ai record dotati di SCORE più elavati:
  • *: consente di omettere un certo numero di caratteri all'interno della chiave di ricerca (carattere jolly).
  • ~: diminuisce lo SCORE di una determinata chiave senza però escluderla dalla ricerca (tilde).
  • ‘' ‘': consente l'introduzione di caratteri non alfanumerici.
  • (): definisce un'espressione.
  • &: congiunzione di tipo logico (AND).
  • |: operatore logico OR.
  • +: indica che una ricerca è valida solo se la chiave indicata è presente su tutti i record.
  • -: indica che una ricerca è valida solo se la chiave indicata non è presente su tutti i record.
  • < e >: diminuisce o aumenta il livello di corrispondenza di una determinata chiave.
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.


Indice Php
Apache (19)
CGI (11)
Java (12)
Jsp (16)
Linux (18)
Manuali (6)
Perl (12)
PostgreSQL (12)
Tomcat (10)
Unix (12)
Libri (0)
Forum



Modificare il percorso di un'immagine con PHP
Nella realizzazione di alcuni scripts, come per esempio le gallerie fotografiche o i gestori di banner, può essere utile dinamizzare... Leggi l'articolo


Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti

Mrwcorsi.it
Mrwebmaster.it
4 You Gratis.it
Ceptive.it
Giochi Gratis
Pierotofy.it
Giornale Webmaster
Manuali
Morpheusweb.it
SEO Directory
Visual designer
Forum per Webmaster




Pagina caricata in 0.0001 secondi. | Per informazioni | ©CG di Claudio Garau P.IVA 03219430927 RSS