MySQL как написать запрос поиска по нескольким ключевым словам

Есть таблица с вопросами. У вопросов есть поле "индексы", в котором через пробел перечисляются темы, к которым относится этот вопрос (каждая тема состоит из 1го слова). Я пытаюсь написать запрос, но никак не могу найти информацию, как передавать динамическое количество параметров в запрос. Ниже написан запрос для поиска по 1му ключевому слову. Как правильно изменить его, что бы он принимал в качестве параметра массив и выдавал все строки с хотя бы одним совпавшим значением?

@Query("select q from Question q where q.indexes like :idx")
List<Question> findByIdx(@Param("idx") String idx);

UPD: нашел, что можно напрямую передать Set, но это не работает. Возможно, я что-то упускаю? Программа компилируется, но поиск не работает.

@Query("select q from Question q where q.indexes like (:idx)")
List<Question> findByIdx(@Param("idx") Set<String> idx);

UPD2: нативный запрос с полнотекстовым поиском работает, но только если в сете только 1 элемент...

@Query(
       value = "SELECT * FROM Question WHERE MATCH(indexes) AGAINST (+:idx IN BOOLEAN MODE)",
       nativeQuery = true)
List<Question> findByIdx(@Param("idx") Set<String> idx);

Ответы (0 шт):