Newsgroup: it.lavoro.professioni.webmaster
Titolo: motori di ricerca ....

In un sito è sicuramente possibile mettere un motore di ricerca per le
pagine interne al sito stesso, ma se volessi compiere la ricerca su tutto il
web parendo
dal mio sito, suppongo che dovrei utilizzare un servizio esterno (di qualche
altro sito tipo google etc.) mi sapete dare qualche consiglio ??
Grazie Marcello.


Probabilmente Google se lo paghi ti permette di utilizzare le sue ricerche
come fa virgilio e come fa yahoo, altrimenti puoi inserire le varie
mascherine dei vari motori di ricerca, ma su questo argomento non sono
ferrato perchè non è interessante.
Un motore di ricerca è composto da 3 macro-componenti i quali sono
generalmente uno "spider", "indexer", e il "searcher"
Lo "spider" o "ragno" raccoglie le informazioni e le passa all' "indexer" o
"indicizzatore"
L'"indexer" le organizza e le prepara in maniera che il "searcher" le possa
interrogare.
IL "searcher" o "cercatore" interroga la base di dati creata e popolata
dall' "indexer" per mostrare i risultati.
IL punto di forza dei grossi motori di ricerca sono gli "spiders" e gli
"indexers", l'ultimo componente infatti è semplice da realizzare e non
influisce molto sulla qualità del servizio offerto.
Infatti se la base di dati è creata dall' indexer in una maniera pietosa, il
servizio sarà scarso, stesso vale se il ragno non acquisisce la maggior
parte delle informazioni possibili.
Detto questo ci sono numerosi problemi, dovuti alla mole di dati da
trattare.
Non è facile creare un buon indicizzatore ed un buon spider.
Io penso di avere realizzato un buon spider e il mese prossimo comincerò a
studiare lo sviluppo di un buon indicizzatore perchè ho intenzione di
sperimentare la creazione di un motore di ricerca vero e proprio entro i
primi mesi del 2003
questo è un sito che fa uso del mio spider:
www.motoreitaliano.it
Il sito non è mio, fa solo uso del mio spider.
IL mio spider è realizzato in Delphi, è una applicazione scritta in 5000
righe di codice, riesce a comprendere in via sperimentale anche la categoria
di appartenenza del sito tramite un algoritmo di mia invenzione, è in grado
di seguire i links, è in grado di recuperare i links dai siti con frame e di
seguirli.
Recupera i dati dai tag meta description e keywords, e recupera il titolo
dal tag title, e il corpo del messaggio dal tag body.
Per utilizzarlo con 
www.motoreitaliano.it
 l'ho interfacciato ad uno script
in PHP che carica i dati raccolti ed elaborati dal mio ragno in un database
MySQL che era già esistente e che era stato creato dallo sviluppatore
iniziale del sito 
www.motoreitaliano.it

 ha scritto nel messaggio
news:X65c9.35564$ub2.5...@news1.tin.it...


 metti a pagamento un'area del tuo sito
Forse riconosce che è un sito di dialers? :-)

webmaster dialer---> 
www.dialers.it
ah, e anche da questo.
-- 
dipende

ferrato perchè non è interessante.
ah ecco, non perché magari sei solo un essere umano con dei limiti
come tutti...  solo perché non è intressante...  :-)
-- 
dipende

 come tutti...  solo perché non è intressante...  :-)
Che ci vuole ad inserire la mascherina di altavista o di google?
E allora cosa c'è di interessante nell'inserirla?
Che me ne frega a me di inserire la mascherina di altavista, google o pinco
pallino?

 metti a pagamento un'area del tuo sito
Mi togli una curiosità?
Ma perchè ti firmi con un nome da donna, visto che sei maschio?

 come fa virgilio e come fa yahoo
in realtà Google ha rilasciato delle API con cui, previa registrazione
gratuita, puoi realizzare programmi per compiere ricerche su google
direttamente dal tuo sito (per un max di 1000 al giorno)
--
Ciao,
Marco
------------------------------
http://www.submission.it/varie/submit.asp
200 search engine free submission
Scelto come sito del mese di Giugno 2002 da Virgilio

 direttamente dal tuo sito (per un max di 1000 al giorno)


qui per il download 
http://www.google.com/apis/
qui per saperne qlcs in + 
http://www.submission.it/news/lastnews.asp?ID=143
--


 iniziale del sito 
www.motoreitaliano.it
Decisamente veloce nella risposta, bravo, immagino la mole di dati sia
enorme.
In questo periodo sono alle prese con un problema simile, ricerche testuali
su circa 1 milione di documenti, base dati MySQL. Ho provato diverse
soluzioni (ricerca free, fulltextindex di MySQL, scansione preventiva di
tutte le parole con tabella di incrocio, ecc ecc) ma i risultati non sono
mai stati all'altezza delle aspettative. Quale trucco hai usato per
indicizzare?
Saluti.
Luciano

http://www.motoreitaliano.it/mi-av.php?m=&maj=&pag=2
impossibile effettuare la querySELECT * FROM siti WHERE
Bug report...:-)
Saluti.
Luciano

Quale trucco hai usato per indicizzare?
Se leggi attentamente, capirai che io gli ho fornito lo spider, quel sito
non ha alcun indicizzatore  e per questo non andrà lontano.
Comunque per risolvere il tuo problema devi fare quello che fa probabilmente
pure google.
Devi utilizzare la tecnica delle liste invertite.
Questa tecnica è quella che intendo utilizzare per sostituire a breve
l'indicizzatore  di quel sito e del mio motore di ricerca reale che
comincerò a sviluppare appena mi arriva il computer nuovo la settimana
prossima.
Spiego in breve la tecnica per le liste invertite:
La base di dati deve essere così fatta:
- Deve esistere un lista di tutte le parole presenti nei vari documenti e ad
ogni parola deve essere associato un indice.
- Deve esistere una lista di tutti gli indirizzi web e ad ogni indirizzo
deve essere associato un codice identificativo.
- Ogni pagina viene incizzata e memorizzata, utilizzando i codici associati
alle parole in questo modo si risparmia lo spazio infatti 32 bit possono
servire per memorizzare in questo modo qualsiasi parola e per alcune parole
si ha un guadagno notevole, (esempio: si potrebbe rappresentare la parola
"rappresentare" con il codice 2034812, che occuperebbe 32 bit invece dei
13*8 soliti) sempre se la si vuole memorizzare, altrimenti non la si
memorizza e se ne memorizza solo una parte da mostrare, Google memorizza
tutta la pagina.
- Deve esistere un indice associato ad ogni parola, dove andranno tutti i
collegamenti agli indirizzi dove compare quella parola, per questo che si
chiama tecnica per liste invertite.
IL tutto sarebbe meglio realizzarlo con archivi HASH, perchè l'indice delle
parole può arrivare a contenere anche 2 milioni di termini e anche se MySQL
o SQL Server o Oracle sono molto potenti, sicuramente andrebbero in crisi
nel ricercare 1 parola in un indice di 2 milioni di parole, sarebbe
sicuramente un suicidio. Forse Oracle potrebbe anche tenere su un server
potente, ma se arrivano un tot di richieste contemporanee, anche Oracle
andrebbe in crisi con questo sistema, questo è sicuro.
Tramite la tecnica HASH, quando viene fatta una ricerca, si trova il
risultato quasi immediatamente(da 1 a 5 passi anche se sono 2 milioni di
record), con una complessità irrisoria rispetto a quella degli archivi ad
indice (la maggioranza dei database conosciuti si basano su archivi ad
indice e quindi usano la ricerca binaria)
E' ovvio che c'è il trucco, perchè anche con la tecnica HASH ci sono dei
problemi, ma è l'unica alternativa che io conosco quando ci sono milioni di
record in gioco, infatti per quanto di potrebbe velocizzare la ricerca sugli
archivi ad indice utilizzando gli alberi o la ricerca ponderata, comunque si
avrebbe una complessità nella ricerca nettamente superiore agli archivi
HASH.
IL bidone della tecnica HASH sta nel fatto che tu a priori devi conoscere
quanti record ci saranno nell'archivio, però questo bidone si può facilmente
aggirare facendo una stima di record superiori, cioè se pensi che avrai
bisogno di 1 milione di record basta preparare il tutto per 2 milioni  e non
ci dovrebbero essere problemi.
La tecnica HASH spreca spazio, però permette di ottenere una ricerca
immediata, l'altro bidone sono le collisioni, ma comunque anche queste si
possono risolvere.
Comunque tornando alla ricerca, se si utilizza la tecnica HASH, quando si
deve cercare la parola "pippo", si trova in 3-4 passi medi e quindi
praticamente immediatamente, l'indice associato a "pippo" e quindi la
ricerca è terminata, perchè basta solo ordinare l'indice trovato se hai
previsto anche altri parametri come la rilevanza dei termini e uelà i
risultati sono serviti!
La tecnica HASH è quella tecnica che associa ad ogni chiave un
codice/indirizzo generato tramite apposita funzione detta funzione HASH.
C'è qualcuno che ha detto che è anche possibile ottenere la funzione HASH
perfetta, ma non lo so se questo è veramente possibile e dove sta la
fregatura in questo per questo.
Insomma non puoi usare i normali database se la quantità di record da
trattare è molto elevata, ma devi svilupparti una soluzione ad hoc.
Per risolvere il tuo problema devi guardare alla tecnica HASH.
Ciao ciao.

 Saluti.
Si lo so, il sito non è mio, io gli ho dato lo spider come lo devo dire.
Io gli ho dato questo:
http://www.xungame.com/public/testspider.net/demospider.zip

 ferrato perchč non č interessante.
In pratica mi stai dicendo che i motori mettono a disposizione degli script
e selle mascherine con il loro logo, il tutto da inserire nel proprio da
inserire nel proprio sito e tramite i quali č possibile fare le ricerche, se
tale servizio č gratis a me va benissimo anche cosě, qualcuno mi puň dare
qualche indicazione ho vedo direttamente sui vari motori di ricerca?
Grazie Marcello

 Per risolvere il tuo problema devi guardare alla tecnica HASH.
Quante piu' info mi dai a riguardo tanto piu' te ne saro' grato!:-)
Saluti.
Luciano

 Grazie Marcello
Si, basta andare sui vari motori:
cerca dove dicono "altavista sul tuo sito", "google sul tuo sito", ecc..
.ec...

 Quante piu' info mi dai a riguardo tanto piu' te ne saro' grato!:-)
E' dura trovare informazioni sulla tecnica HASH, io ci ho provato più volte,
ma ho trovato sempre e solo scemenze eppure c'è qualcuno come questo tizio
che la deve sapere lunga sull'argomento: Craig Silverstein

 MySQL crea un cartella per ogni documento, quindi in questo modo il
Non lo so come mi è venuto, comunque volevo dire che MySQL crea un file per
ogni tabella e non una "cartella per ogni documento", chissà da quale parte
misteriosa del cervello mi è uscita questa.

 che la deve sapere lunga sull'argomento: Craig Silverstein
Allora lo invito a cena e ho risolto!:-)
Saluti.
Luciano

 Allora lo invito a cena e ho risolto!:-)
Probabilmente fai prima :-P