Nice! This looks to fill a role that's quite challenging at scale using MySQL, SOLR, redis, etc. I've forced sphinx to fill this role but the limitations of real-time updates (no infix/suffix support) make deployment awkward.
My two immediate questions are ballpark memory usage and if Cleo supports any form of persistence. I don't find mention of either in the docs, and only spammers have found the Google Group so far. Time to fire up a test instance.
This is very cool! Have to look better into it, but it does not seem to be error tolerant.
Hence here is a related approach to make error-tolerant this kind of typeahead search!!
You could run a full search engine with nothing but Cleo. If you're indexing entities and the choices are narrow enough after a relatively small number of keystrokes, you never need to hit "search" and go to a Lucene index.
the question is why. Look, solr has enough traction and mindshare that it is easy to find consultants, employees, resources, etc.
I would be loath to move my main search index out of lucene, simply because of all the tons of boosting and tuning for my specific business case.
Essentially my question is - is Cleo a replacement for Solr (with a focus on instantaneous indexing) or a killer application for typeahead. If it's the former, not really interested. If the latter, then how can one compare it with solr based typeahead solutions.
I'm trying to get this assessed right now for my startup. We used solr, but it didn't play nice with Ruby and MongoDB, so we had to hack up a solution to get it to do what we wanted. Trying to figure out if Cleo will do it outside of the box and reduce our server load.
really interested in your use case. Were the problems due to Ruby (Rsolr ? Sunspot?) or due to Mongodb. If it's the latter, I'm curious if it had something to do with keeping Mongodb and Solr in sync.
Essentially, did you face a problem with the real-time aspect of Solr ?
My two immediate questions are ballpark memory usage and if Cleo supports any form of persistence. I don't find mention of either in the docs, and only spammers have found the Google Group so far. Time to fire up a test instance.
Update: figured out persistence. The tutorials give a good idea of what's going on: http://sna-projects.com/cleo/tutorial_MyFriendsTypeahead.php