|
WebGlimpse
È una
interfaccia verso il Glimpse, uno dei motori di
ricerca piu' sofisticati e flessibili oggi
esistenti. Disponendo di un server virtuale
l'archivio del Glimpse contiene solo i dati del
proprio sito e la ricerca è molto
veloce.
Criteri
di ricerca
WebGlimpse
supporta molti metodi di ricerca basati su diverse
stringhe di query. In particolare sono supportate
le seguenti chiamate:
-
Ricerca
semplice, per esempio: file
-
Costrutto
logico OR, per esempio: file,dati
vengono cercate le occorrenze alternative
delle parole: file o dati
-
Costrutto
logico AND, per esempio: file;dati
vengono cercate le occorrenze congiunte delle
parole: file e dati
-
Ricerca
basata sulla "età" del documento,
tramite la definizione della variabile
"age".
-
Ricerca
basata su record
preformattati.
Individuazione
del path di ricerca
WebGlimpse
consente di cercare tra i documenti presenti a
partire da una certa url e per tutti i
sottodocumenti raggiungibili a partire da tale url.
Essendo utenti di un virtual server del tipo
http://www.company.it; la path di ricerca è,
al minimo, pari a / ovvero la directory principale
del vostro sito.
E' interessante
notare che WebGlimpse puo' cercare anche
limitatamente ad una data parte dello spazio web.
Supponiamo che l'azienda ACME abbia uno spazio web
suddiviso in due parti: "hardware" e "software" con
le url http://www.acme.com/hardware e
http://www.acme.com/software.
Si puo' predisporre WebGlimpse per cercare solo in
una o nell'altra area, basta definire
opportunamente la path di ricerca: /hardware/
oppure /software/.
La path di ricerca individua anche il luogo in cui
WebGlimpse andrà a cercare i file
glheader.html e glfooter.html che serviranno per
personalizzare la risposta alla query.
Predisposizione
della pagina
Faremo un
semplice esempio di come predisporre una form per
effettuare ricerche su uno spazio web di un
ipotetico utente
http://www.mycompany.com/.
Per quanto detto
la path di ricerca vale in questo caso: /. Le righe
da inserire nella pagina sono:
|
<FORM METHOD=GET
ACTION="/cgi-bin/glwrap.pl.cgi/">
<INPUT TYPE="text" NAME="query"
SIZE=40>
<INPUT TYPE="submit" VALUE=" Search
">
</FORM>
|
e questo è
il risultato che otterremo (il pulsante Search
è disattivato in questo esempio)
Controllo
dell'età dei documenti
Questo caso
è analogo al precedente con l'eccezione
dell'aggiunta della definizione della variabile age
che serve per restringere la ricerca solo ai file
creati da un certo numero di giorni.
|
<FORM METHOD=GET
ACTION="/cgi-bin/glwrap.pl.cgi/">
<INPUT TYPE="text" NAME="query"
SIZE=40>
<INPUT TYPE="submit" VALUE=" Search
"><BR>
Documenti degli ultimi
<SELECT NAME="age">
<OPTION>7
<OPTION>30
<OPTION SELECTED>90
</SELECT> giorni
</FORM>
|
il risultato che
otterremo è di questo tipo
Ricerca
su file preformattati
In questo caso la
ricerca viene fatta su un documento preformattato
con una struttura a record del tipo:
[nome campo] [valore campo]
la lista dei campi e dei valori deve apparire tra i
tag di commento <!-- e -->; per esempio
supponiamo di avere nella sottodirectory /db i
seguenti due file:
|
<HTML>
<HEAD><TITLE>File numero
1</TITLE></HEAD>
<BODY>
<!--
fieldazienda ACME
fieldcategoria gioielli
fieldpaese italia
-->
Esempio di file con datadase
</BODY>
</HTML>
|
|
<HTML>
<HEAD><TITLE>File numero
2</TITLE></HEAD>
<BODY>
<!--
fieldazienda ACME
fieldcategoria internet,gioielli
fieldpaese italia,germania,svizzera
-->
Altro esempio di file con datadase
</BODY>
</HTML>
|
Possiamo definire
la seguente form
|
<FORM METHOD=GET
ACTION="/cgi-bin/glwrap.pl.cgi/db/">
<INPUT TYPE="radio" NAME="field"
VALUE="fieldazienda" CHECKED>
AZIENDA
<INPUT TYPE="radio" NAME="field"
VALUE="fieldcategoria"> CATEGORIA
<INPUT TYPE="radio" NAME="field"
VALUE="fieldpaese"> PAESE
<BR>
<INPUT TYPE="text" NAME="query"
SIZE=40>
<INPUT TYPE="submit" VALUE=" Search
">
</FORM>
|
ed otterremo
questo risultato
E'
chiaro che in luogo dei radio button si può
usare sia un select menu oppure addirittura un
campo libero di tipo text, purché assegnino
un valore alla variabile field.
E' importante
notare che, grazie alla possibilità di usare
connettivi logici, si possono formulare query molto
potenti. Per esempio: scegliendo paese e immettendo
il testo italia,spagna,germania si cercano tutti i
record con il campo paese impostato a italia oppure
spagna oppure germania.
Personalizzazione
dei risultati della ricerca
E' possibile
personalizzare il risultato della ricerca mediante
la predisposizione di due pagine particolari:
glheader.html, glfooter.html.
glheader.html
contiene l'inizio (dal tag <BODY> in poi)
desiderato, mentre glfooter.html contiene la fine
prima del tag </BODY>. Con questo meccanismo
si possono personalizzare i colori delle pagine di
risultato e prevedere altre informazioni nelle
pagine stesse.
I file
glheader.html e glfooter.html devono risiedere
nella path indicata nella chiamata al cgi di
ricerca e quindi ne possono esistere diversi a
seconda della path di ricerca. Per esempio per
l'ultimo esempio di form possiamo predisporre due
file nella directory /db nel seguente
modo:
|
File glheader.html
|
|
<HTML>
<BODY BGCOLOR=#FFFFFF
LINK=#FF0000>
Esempio di un file glheader.html,
può contenere qualsiasi cosa.
<H2>Risultati della
ricerca</H2>
|
|
File glfooter.html
|
|
Esempio di un file glfooter.html,
può contenere qualsiasi cosa.
<CENTER>
<IMG
SRC="una_immagine.gif"></IMG>
</CENTER>
</BODY>
</HTML>
|
|