If you are running server-side code to push this information over to Analytics or some other back end system, then I would agree with Brian's post here. Sling models are generally for representing a JCR resource that correlates with a page component. An OSGi service is going to provide you access to all of the same contexts that would be applicable to your task, and would be easier to leverage from your search servlet.
However, if you're looking for Analytics to pick this data up from the front end web page (similar to other Analytics data), it would be great to simply push this context into the Analytics datalayer. Rather than using a servlet for search results, you can create a Sling Model for your "search_results" component - that sling model could A) execute the search and then B) update the datalayer with the data to by picked up by Analytics.