Entonces, si suponemos que las columnas name
y colors
son las únicas columnas en las que necesitamos buscar, haría lo siguiente (solución ingenua pero funcionará bien si su base de datos no tiene millones de filas y no tiene miles de clientes buscando a la vez).
Primero, crea una vista
CREATE VIEW SearchHere AS
SELECT item_id, CONCAT(name, ' ', colors) AS FullDescription
FROM table
No sé el nombre de la tabla en tu captura de pantalla, así que usé table
como su nombre.
Ahora, si un usuario busca adult red pants
podrías emitir una consulta
SELECT item_id
FROM SearchHere
WHERE FullDescription LIKE '%adult%'
AND FullDescription LIKE '%red%'
AND FullDescription LIKE '%pants%'
Por supuesto, necesitaría generar la consulta sobre la marcha, pero eso no es un problema. Podrías jugar usando AND
o OR
y colocando espacios entre el símbolo comodín %
y el término de búsqueda. Probablemente también le gustaría hacer la vista de una manera más sofisticada, por ejemplo, hacer algo más que CONCAT
.