Если можете, используйте поисковые запросы JSON (вам нужен MySQL с поддержкой JSON).
Если это целесообразно, рассмотрите возможность изменения структуры базы данных и введите различные «слова» в виде связанной таблицы. Это позволит вам гораздо более мощные (и более быстрые) запросы.
JOIN has_service AS hh ON (hh.row_id = id)
JOIN services AS ss ON (hh.service_id = ss.id
AND ss.name IN ('Hygiène', 'Angiologie', ...)
В противном случае, в этом контексте, учтите, что вы на самом деле не выполняете поиск по регулярному выражению, и вы выполняете полное сканирование таблицы в любом случае (если только MySQL 8.0+ или PerconaDB 5.7+ (не уверен) и (индекс для полного экстента столбца 'services'), а несколько запросов LIKE будут стоить на меньше :
WHERE (services LIKE '%"Hygiène"%'
OR services LIKE '%"Angiologie"%'
...)
или
IF(services LIKE '%"Hygiène"%', 1, 0)
+IF(services LIKE '%"Angiologie"%', 1, 0)
+ ... AS score
HAVING score > 0 -- or score=5 if you want only matches on all full five
ORDER BY score DESC;