Actually what's wrong about two routes? From logical point of view these are two separate actions: route with param should initialize the search process, while empty one should show empty search form or do some redirect.
GET /search/:term controllers.Application.search(term: String)
GET /search controllers.Application.blankSearch
Optionaly you can use a route with default value (ie. empty String) which is clean approach as common HTML form will send the request in exactly required format:
GET /search controllers.Application.search(q: String ?= "")
(request: http://domain.loc/search?q=Looking+for+something)