I am building a project and require a super fast way of supplying an autocomplete feed with results based on a partial text match.
I will be indexing/searching on only one field in a database, though the database row will have additional data I won't be indexing those fields. I will have approx. 25k rows.
Requirements:
- Must match anywhere in the field (Lorem Ipsum Dolor Sit Amet would be found when starting to type "Lor", "Ipsum", "olor", "Sit Amet")
- Needs to be extremely quick at returning results in a JSON feed (though the original source of the data doesn't matter too much)
- Scalable solution for high traffic
I have reviewed a few options...
- Using MongoDB like such like query in mongoDB
- ElasticSearch - not sure if a bit overkill for what I need to do, and haven't seen any exaples of matching the partial text as above
- SQL LIKE query, but imagine this won't be nearly fast enough?
Programming language isn't too much of an issue but Python or PHP would be preferred.