Pregunta

Estoy utilizando MySQL y PHP texto completo (CodeIgniter) para buscar una base de datos que contiene los elementos RSS. El problema es que algunos de los títulos utilización de estos elementos pone de relieve en lugar de espacios. Desde MySQL considera guiones como parte de una palabra, estos elementos no serán emparejados en la búsqueda, a menos que el usuario escribe el título exacto incluyendo guiones bajos.

Server está compartida por lo que no tengo acceso a las variables de sistema del servidor MySQL.

Puede este comportamiento puede cambiar de alguna otra manera? Puede esto puede que hacerse a través de la propia consulta de búsqueda?

Sé que sólo pudiera reemplazar todos subrayan las ocurrencias en el PP por espacios, pero esto pondría en peligro la integridad original de esos títulos sin embargo. Sólo me preguntaba si hay otra manera de hacerlo.

¿Fue útil?

Solución

  

Sé que sólo pudiera reemplazar todos subrayan las ocurrencias en el PP por espacios, pero esto pondría en peligro la integridad original de esos títulos sin embargo. Sólo me preguntaba si hay otra manera de hacerlo.

Se puede en lugar de reemplazar guiones en el campo título original, utilice un campo separado dedicado a búsquedas de texto completo.

Esto le permite reemplazar guiones, además de los agregados de palabras clave en este campo (nombres de categorías, autores, etiquetas, etc.) para mejorar los resultados de búsqueda relevancia. Utilizamos este muchas veces con éxito para deshacerse de las etiquetas HTML en infering contenido con la búsqueda

Otros consejos

No creo que esto se puede hacer sin acceso al servidor. La única forma que he visto de hacerlo es el primer comentario de esta página manual de mySQL (" ¿Cómo he añadido '-' a la lista de caracteres de palabra "). Se requiere detener el servidor y el cambio de configuración interna.

Su mejor apuesta es, probablemente, la creación de una segunda columna con guiones eliminados, y para buscar eso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top