Здесь после вопросительного знака type = books анализируется как параметры запроса, а не как route, это приводит к методу индекса.
Один из способов справиться с этим - обновить маршрут следующим образом.
$route['search/results?(:any)'] = 'search/results/$1';
$route['search/(:any)'] = 'search/index/$1';
Надеюсь, это поможет.