Hi there,
Given so little information, any solution might be the best, depending on the unknowns.
if your search requirements are very light and simple, then a hand-made solution could be the solution. It saves you from adding a new piece in the stack (and the less components you have, the lower complexity issues you have, and the easiest it is to maintain)
Solutions like ElasticSearch are really great because there's already so much in there. Really, it might be complex to scale (like so many solutions), it's not magic and requires you to learn it to get nice performances and results, but you can focus on getting nice results, rather than re-inventing the wheel if you need complex queries, distance function (tf-idf, custom scoring, ....)
Well, we created a webapp using Java/Spring, main datastore is MongoDB (with Spring Data) and we use Elasticsearch aside for the search functionality / aggregations. Spring Data is not currently compatible with Elasticsearch 2.x so we're using the official client API which is a bit more complicated to implement than with Spring Data. We're still benching the perfomance so far.
Sébastien Portebois
Software architect at Ubisoft
Hi there, Given so little information, any solution might be the best, depending on the unknowns.