You would need to decorate the Search action with one more attribute called System.Web.Http.HttpGetAttribute. For the reason behind this, you can take a look at my answer in the below post:
405 when using AttributeRouting.PUTAttribute unless I also include HttpPutAttribute