Today and yesterday, between various other things, I’ve had a crack at solving Universal Search (mentioned previously), and I’ve currently got a bit of a mockup going at Labs. At the moment it’s only searching a very, very small set of test data but the entire supporting architecture is there; this is a working system, it just needs the content and a bit of polish on the front-end to handle some edge-case errors and IE6 (predictably). Obviously there’ll be some documentation on how to provide search sources and how to actually write some badass queries, but the majority of it is done.
The next step is to start plugging this in to external services. I’m going to start with the Library catalogue search from Jerome, making use of Sphinx’s distributed indexing model to avoid the need to double-up on data. Over time new services will be added, either sporting their own Sphinx search endpoints (the preferred way) or by outputting XML files for indexing by Universal Search itself.
Oh, and of course it comes with an API endpoint.