Attualmente sto usando similar_text per confrontare una stringa con un elenco di ~ 50.000 che funziona anche se a causa del numero di confronti è molto lento. Ci vogliono circa 11 minuti per confrontare ~ 500 stringhe uniche.Accelerare levenshtein/similar_text in PHP
Prima di eseguirlo, controllo i database per vedere se è stato elaborato in passato, quindi ogni volta dopo la prima esecuzione è vicino all'istante.
Sono sicuro che usare levenshtein sarebbe leggermente più veloce e la funzione LevenshteinDistance che qualcuno ha pubblicato nel manuale sembra interessante. Mi manca qualcosa che potrebbe renderlo significativamente più veloce?
'O (N ** 3)' dove N è la lunghezza della stringa più lunga per 'similar_text' ... ouch. – jason
Qual è la lunghezza media delle stringhe? Aaandd ... quanti dei dati nella stringa sono effettivamente rilevanti per la ricerca? cioè quanto è appena cruft? – jason
La lunghezza media è di circa 20 caratteri e un'alta percentuale di dati è rilevante, forse l'85-95%. Penso che forse usando questi sono un po 'eccessivo e potrei probabilmente usare una ricerca full text in mysql seguita da alcuni controlli. – DanCake