2010-08-05 4 views
7

Eventuali duplicati:
How does the Google “Did you mean?” Algorithm work?dei motori di ricerca con 'volevi dire'

Ho una tabella del database con circa 2 milioni di dischi. Sto usando mysql fulltext per la ricerca ma gli utenti molto spesso inseriscono parolacce ex gmes -> dovrebbero essere giochi quindi ho bisogno di una libreria con wrapper PHP per avere funzionalità come in google 'intendevi' Cosa dovrei usare?

+4

Buona domanda, ma dovresti aver provato il motore di ricerca su SO prima di chiedere;) Possibile duplicato di [Come fa il Google "Intendevi?" Algorithm funziona?] (Http://stackoverflow.com/questions/307291/how-does-the-google-did-you-mean-algorithm-work) e un [altro paio] (http://stackoverflow.com/ ricerca? q = ha + si + vuol dire + ricerca + PHP) – Gordon

risposta

1

Un indice è un elenco di parole e il luogo in cui si verificano. Per esempio. i giochi si verificano sulle righe 123 e 456. Se si dispone di un elenco di questo tipo con tutte le parole, è possibile cercare facilmente la parola che corrisponde meglio. In questo modo, potresti abbinare gmes ai giochi.

Tuttavia, questo non è possibile con l'indice fornito da MySQL.

3

È possibile utilizzare un'API come Yahoo Spelling Suggestion come un modo semplice per completarlo senza dover eseguire il rollover.

1

se non avete intenzione di fare affidamento su siti 3rd party, è sicuramente bisogno il proprio dizionario con l'algoritmo levenshtein per scoprire come chiudere le voci utente sono i termini del dizionario

1

È possibile utilizzare Yahoo Spelling API ecc. Se le query sono molto generiche. Ma se hai un vocabolario specifico per il dominio, allora stai meglio usando Apache Solr.

Puoi usarlo per indicizzare i tuoi record 2MM, facile! E usalo come server di ricerca con faccette ecc. Inoltre genera un indice di controllo ortografico fuori dai tuoi archivi che puoi usare per il tuo "volevi dire"? o la funzione di suggerimento automatico. È anche estremamente semplice da integrare in qualsiasi lingua grazie alla sua API RESTful

Bottom-line: se stai cercando una soluzione a lungo termine in grado di gestire diverse cose, oltre al controllo ortografico, come ricerca/auto-suggerire/sfaccettare ecc. Solr è la strada da percorrere.