Yo diría que, aquí, su estructura de datos no es la correcta.
Sería una mejor solución no almacenar varios valores en un campo usando algún formato separado por comas, sino usar tres tablas, definidas de esta manera:
searchtest
id
name
keywords
id
word
keywords_searchtest
id_keyword
id_searchtest
Con eso, buscando entradas en searchtest
que tienen palabras clave específicas sería tan simple como:
select searchtest.*, keywords.*
from searchtest
inner join keywords_searchtest on keywords_searchtest.id_searchtest = searchtest.id
inner join keywords on keywords.id = keywords_searchtest.id_keyword
where keywords.word = 'test2'
Y, además, tendría que buscar entradas de prueba de búsqueda con un nombre específico:
select *
from searchtest
where name = 'trophy1'