Para aclarar un poco pongo un ej el usuario busca:
"Casa en punta del este para la venta"
El diccionario tiene:
- casa
- punta del este
- venta
Hasta este momento con mysql identifico los teminos contenidos en la frase así:
Código PHP:
select dicpalabra from diccionario where INSTR("Casa en punta del este para la venta",dicpalabra) >0 order by dicrelevancia DESC
Si quisiera usar soundex para corregir haria esto:
Deberia hacer un explode separando por espacios " " y tendria este array:casa , en, punta, del, este, para, la, venta
Pero se me separan las palabras compuestas, "Punta del este" queda "Punta", "del", "este" y el diccionario tiene "punta del este" por lo tanto el soundex de "punta" no es igual de "punta del este" ni "del" y "este".
Algo que funcionaria de maravilla pero no se como hacerlo:
Insertar en la frase el soundex de cada palabra del diccionario y luego hacer el instr con soundex algo asi:
select dicpalabra from diccionario where instr("C000 en P53423 para la V530",soundex(dicpalabra)) >0
Entonces obtendria palabras que tengan el mismo soundex, y solucionaria algunos errores de tipeo
¿Se podria insertar el soundex de cada palabra en la frase sin perder palabras compuestas como Punta del este pero al mismo tiempo corregirlas ?
Desde ya gracias. Saludos !