У меня была такая же проблема с Symfony 1.4 и Doctrine 1.2 с поведением Searchable, и я столкнулся с этим вопросом.Затем я обнаружил, что вы можете добавить подстановочные знаки (? Или *) к поисковому запросу, которое относится к словам.В вашем случае "гора *" будет соответствовать горе.В моем случае я применил это к каждому поисковому запросу и скрыл его от пользователя.
$results = $table->search('*'.$search_string.'*');
Надеюсь, это кому-нибудь поможет!
- edit -
Немного поспешно выше ... Это прекрасно работает для запросов с одним словом, но снова не работает для нескольких частичных слов.Примерно так должно работать лучше:
$actual_search_string = '*'.implode('* *', explode(' ', $search_string)).'*';
$results = $table->search($actual_search_string);