Newsgroup: it.comp.www.asp
Titolo: Ricerca di due o piu' parole in un campo

Ciao a tutti,
Ho un problema, devo fare una sorta di motore di ricerca interno ad un sito
che mi tiri fuori tutti i record che abbiano all'interno del campo
descrizione della tabella prodotti la stringa che io inserisco con un form.
Fin qui tutto bene se la stringa che passo col form contiene una sola
parola, ma come posso fare per fare in modo che se inserisco ad esempio 3
parole separate da uno spazio mi cerca tutti i record che hanno o la prima o
la seconda o la terza, se le separo con un " + " mi cerca tutti i record che
hanno sia la prima sia la seconda sia la terza ???
Tipo Altavista per capirci.
Grazie in anticipo,
Simone

hanno sia la prima sia la seconda sia la terza ???
Sinceramente non saprei. Anche a me interesserebbe sapere se c'č un metodo o
roba del genere per utilizzare gli operatori o, cmq, per fare una ricerca su
piů parole.
Al momento, utilizzo n campi diversi per fare la ricerca su piů parole con
piů operatori.
Sto pensando che, in teoria, si potrebbe fare una funzione, che restituisce
un array di stringhe, contenente tutte le parole inserite (lo spazio farebbe
da separatore di elenco).
Una volta fatto questo, tramite un ciclo si potrebbe creare il WHERE da
passare alla stringa SQL.

 piů parole.
La ricerca con una o piů parole deve essere modellata attorno al programma di
ricerca stesso. Mi spiego meglio:
Per creare un micro-motore di ricerca all'interno di alcune pagine e per
riuscire a crearlo con le poche conoscenze che ho di ASP, ho creato un file di
testo con inseriti tutti i percorsi dei file inseriti sul sito (per percorsi
intendo quelli su disco c:\.... e non URL) quindi ho creato due funzioni, la
prima di analisi del testo inserito per la ricerca e la seconda di apertura dei
file asp per la ricerca della stringa desiderata.
La prima funzione non č altro che un ciclo for ... next che analizza lettera per
lettera la stringa di ricerca, incontrando i caratteri " "(spazio) e "+" agisce
di conseguenza ovvero, prendendo ad esempio la stringa "Internet
Service+Provider", quando la procedura incontra lo spazio assegna ad una
variabile stringa il valore corrispondente alla parola racchiusa tra l'inizio
della frase e lo spazio, tra due spazi o tra lo spazio e la fine della frase (a
seconda di dove č messa la parola singola da cercare) e quindi richiama la
funzione di ricerca per trovare questa parola iniziando a creare anche il file
HTML di visualizzazione del risultato della ricerca, terminata la ricerca, si
ritorna alla prima funzione che ritorna ad analizzare la frase con inserite le
parole da ricercare, cercando altri spazi, non trovandone ripete il tutto
cercando il segno "+" e quindi riassegna alla variabile le parole unite dal
segno + sostituendolo con uno spazio e richiama la procedura di ricerca.
Attualmente sono "fermo" alla creazione del file di testo e quindi non posso
assicurare che funzioni ho postato comunque il messaggio per dare magari qualche
idea per realizzarlo in modo molto piů semplice e veloce di questo ...
Michele Mariotti

idea per realizzarlo in modo molto più semplice e veloce di questo ...
Però.... c'è Index Server.
Io l'ho provato e funziona piuttosto bene, una volta che si capiscono alcune
cose.
E non c'è bisogno di fare chissà che cosa per gestire le ricerche. Fa tutto
da solo.