I think this isn't too hard.
Cleo has its own specialized database index which is different from any other index in your system. If you have a typeahead object you create an element object, set the titles, popularity score, terms and all that, and then call
typeahead.insert(element)
Probably you want Cleo to live in it's own address space, so you should create a web service around it. The cleo-primer example looks like a reasonable way to do it.
When you update your Solr index you want to make sure that a message gets sent to Cleo ordering that the update take place.