У меня есть пользовательский поиск с SilverStripe 3.5.6, который разбивает в массив все ключевые слова и возвращает только результаты, содержащие все слова, а не те, которые содержат одно из слов.
Это всего лишь небольшой фрагмент сценария, но именно так я использую функцию фильтра.
foreach($keywords as $keyword) {
$search_terms_title['Title:PartialMatch'][] = $keyword;
}
Page::get()->filter($search_terms_title)