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

Home :: Php :: Indice Php

Ricerche FULL TEXT e applicazioni pratiche

Inserito il: 05-09-2006


Per presentare un esmpio pratico sull'impiego delle ricerche FULL TEXT inseriremo del contenuto all'interno della nostra tabella "news":
INSERT INTO news(id,data,autore,titolo,descrizione) 
VALUES (
'',
'2006-06-21',
'Cicerone',
'Lorem ipsum' , 
'Nunc ultricies pretium orci. Integer tortor.
Nam varius quam. Curabitur quis felis nec 
mauris rhoncus fringilla. Fusce sed magna 
eu neque imperdiet gravida.'
) ;

Quello proposto è solo un esempio, naturalmente il lettore dovrà sulla base di questo aggiungere più contenuti alla tabella in modo da rendere possibili i confronti e la generazione dei livelli di corrispondenza.

Di seguito riportiamo il codice necessario per operare all'interno dei nostri dati una semplice ricerca basata su una chiave:
SELECT `titolo`, MATCH (`titolo`,`descrizione`) 
AGAINST ('tortor') AS new_tb
FROM news ORDER BY `new_tb` DESC
Lo scopo dell'istruzione appena descritta, è in pratica quello di ricercare all'interno dei contenuti indicizzati la chiave "tortor" e di visualizzare in output i titoli e gli SCORE ottenuti. Da notare l'utilizzo del costrutto AS che ci permette di creare un output virtuale chimato "new_tb" in sostituzione del meno leggile "MATCH (`titolo`,`descrizione`) AGAINST ('tortor')" che poi non è altro se non l'elenco degli SCORE.

Passiamo ora ad un esempio pratico di ricerca FULL TEXT più raffinata in cui vengono filtrati i risultati:
SELECT titolo, MATCH (`titolo`,`descrizione`) 
AGAINST ('tortor') AS new_tb
FROM news
WHERE MATCH (`titolo`,`descrizione`) AGAINST ('tortor')
ORDER BY new_tb DESC
L'istruzione descritta sopra contiene due passaggi fondamentali: innanzitutto viene operata un SELECT dei record corrispondenti al campo "titolo" sulla base di un confronto (AGAINST) col parametro chiave di input; in secondo luogo si specifica che il confronto dovrà riguardare soltanto i record dei campi indicizzati restituisce un risultato diverso da FALSE. Per cui in output avremo una "classifica" contenente soltanto i record dotati di uno SCORE diverso da zero.

Per filtrare ulteriormente gli esiti delle nostre ricerche potremo anche utilizzare più parametri e operare confronti in senso booleano:
SELECT titolo, MATCH (`titolo`,`descrizione`) 
AGAINST ('tortor magna' IN BOOLEAN MODE) AS new_tb
FROM news 
WHERE MATCH (`titolo`,`descrizione`) 
AGAINST ('tortor magna' IN BOOLEAN MODE)
ORDER BY new_tb DESC
In questo caso, abbiamo deciso di operare una ricerca limitata ai record in cui vengono associate le stringhe "tortor" e "magna". Da notare l'utilizzo dell'istruzione IN BOOLEAN MODE con il quale indichiamo che la ricerca deve esse operata in termini logici (0/1).

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 (4)
Perl (12)
PostgreSQL (12)
Tomcat (10)
Unix (12)
Libri (172)
Forum


Algoritmi in Java
Algoritmi in JavaLa linea scelta per la trattazione e l'esposizione dei contenuti è stata quella dell'approfondimento di argomenti ormai "classici", associati a...
Maggiori dettagli

Verificare l'abilitazione di Javascript con PHP
In questo breve tutorial presenterio un piccolo script utile per rilevare se il browser utilizzato dall'utente abbia o meno abilitata... Leggi l'articolo



Aiutiamo l'Abruzzo - Terremoto del 6 Aprile 2009 - Invia anche tu un SMS vuoto al numero 48580 al costo di 1 euro

Aspcenter.net
Mrwcorsi.it
Mrwebmaster.it
4 You Gratis.it
AG web solutions
Ceptive.it
Jacoz.net
Giochi Gratis
Pierotofy.it
Giornale Webmaster
Manuali
Morpheusweb.it
SEO Directory
Design multimedia
proBLOG
Visual designer
Forum per Webmaster




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