Thanks Neophytos!
(Of course I was interested in the callback interface, which was advertised as easier to use than the service contract.)
From what you write, and from the package names, I would have assumed you'd need the "search" package and one of the three implementations of the FtsSearchEngineDriver interface. Running on Orace, that would be package "intermedia-driver".
Now what's the relationship between packages "search", "intermedia-driver" and "site-wide-search"? Because something is weird here.
The packages "search" and "intermedia-driver" overlap. There's considerable code duplication, and I doubt they can coexist. E.g., both have sql/oracle/search-packages-create, which create package search_observer with two procedures, enqueue and dequeue. Sure there are differences -- one has acs_objects.object_id%TYPE and the other search_observer_queue.event%TYPE. But those are just two long-winded notations for INTEGER. The signatures look identical to me.
A normal package names its tables etc. to hint at the package. But "search" and "intermedia-driver" use the prefix "sws_", hinting at "site-wide-search".
It seems that "search" replaces "site-wide-search", which should no longer be used. But is "intermedia-driver" a complete replacement for "search"?
BTW, installing intermedia-driver does NOT create an appropriate SC impl, and hence there cannot be a binding to contract FtsEngineDriver.