Как сделать ассоциативный поиск в PHP?
Много где такой поиск работает не на названиях файлов, а на текстовых описаниях, сохранённых для каждого файла.
А дальше это просто полнотекстовый поиск с использованием специализированных инструментов или просто встроенных механизмов СУБД. И да, словарь синонимов всё равно придётся скармливать этим инструментам, магически компьютер их не придумает.
Теоретически, синонимы можно запрашивать с внешних сервисов (thesaurus.com или чего-то наподобие).