Вообще я тогда читал про поиск конкретно амазона, он сильно сложнее - ищет корреляцию между квери и сколько юзеры кликают на него. Для твоего немецкого заказчика такое не надо :)
Это вообще не язык, это запросы на заполнение эластика. Тебе их придётся на пхп все равно написать, чтобы твой поиск дополнялся при появлении новых продуктов или удалении старых