Hola skyspablo:
En realidad no existe un "mejor" método de búsqueda... todos tienen puntos a favor y en contra, aunque definitivamente opino que utilizar búsquedas de texto completo en una de las mejores...
Hay varios aspectos que puedes considerar para mejorar las búsquedas, como por ejemplo el detalle de la longitud de las palabras a buscar... dale un vistazo a esto:
http://dev.mysql.com/doc/refman/5.0/...ne-tuning.html
definitivamente no recomiendo el uso de condiciones tipo
ya que estas tienen un terrible desempeño y el performance de tu servidor se puede ver comprometido...
Para la parte de
"Quizás quiso decir palabra" en realidad tendrías que hacer un catálogo de sinónimos, considerando las posibles faltas de ortografía...
obvio -> obio, ovio, hobio, hobvio, hovio...........
Esto puede ser tan simple o tan complicado como quieras, también podrías implementar la función SOUNDEX, para tratar de encontrar resultados "parecidos" aunque esto tampoco implica que tengas el resultado esperado:
Código MySQL:
Ver original+------------------+-----------------+-----------------+
+------------------+-----------------+-----------------+
| O100 | O100 | O100 |
+------------------+-----------------+-----------------+
También tendrías que considerar por ejemplo el uso de la letra H... ya que esta puede alterar tu resultado:
Código:
mysql> SELECT
-> SOUNDEX('hobvio'),
-> SOUNDEX('hovio'),
-> SOUNDEX('hobio');
+-------------------+------------------+------------------+
| SOUNDEX('hobvio') | SOUNDEX('hovio') | SOUNDEX('hobio') |
+-------------------+------------------+------------------+
| H100 | H100 | H100 |
+-------------------+------------------+------------------+
1 row in set (0.00 sec)
Te repito esto lo puedes hacer tan simple o tan complicado como quieras, puedes por ejemplo manejar una opción de autocompletar a partir de las búsquedas más comunes, pero hagas lo que hagas, siempre te encontrarás con usuarios que le den al traste con todo tu trabajo. Si esta búsqueda es primordial para tu lógica de negocio, entonces si te conviene invertirle tiempo y esfuerzo en afinar el buscador, pero si resulta una tarea secundaria, olvídate de ella y no que quiebres tanto la cabeza.
Saludos
Leo.