Поиск в Drupal по части слова

1. Находим файл search.module.

1) находим строку:

$query2 = substr(str_repeat("i.word = '%s' OR ", count($arguments2)), 0, -4);

и изменяем ее на:

$query2 = substr(str_repeat("i.word LIKE '%%%s%%' OR ", count($arguments2)), 0, -4);

2) затем строку:

$boundary = '(?:(?<=['. PREG_CLASS_SEARCH_EXCLUDE . PREG_CLASS_CJK .'])|(?=['. PREG_CLASS_SEARCH_EXCLUDE . PREG_CLASS_CJK .']))';

исправить на

$boundary = '';

3) дальше нужно найти

if (count($ranges) == 0) {
return truncate_utf8($text, 256) .' ...';
}

и привести к виду

if (count($ranges) == 0) {
return "bad";
}

больше никаких изменений в даном файле делать не нужно.

2. Нужно найти файл node.module.

1) находим строку:

$extra = node_invoke_nodeapi($node, 'search result');

и после нее добавляем

$snip=search_excerpt($keys, $node->title.$node->body);
if($snip!="bad")
{

2) строчку

'snippet' => search_excerpt($keys, $node->body),

изменяем на

'snippet' => $snip,

3) осталось только добавить

}

перед строкой

return $results;