Instead of relying on a separate actor model, as described, we make use of the fact that DbPool is an Arc, and can be arbitrarily cloned, so we add it to Searcher. Further more, and db_pool.get()acts like sending a message to an Actor: if there are enough connections, the Pool gives us one, if not, tough luck!
this way, we don't need to pass along a conn into the searcher functions.
This should make splitting PlumeRocket up into its components a little easier.
This function does what was previously done in main:
create a search index, and try to recover for errors
This commit also fixes plume-cli to use the new Searcher
API (that depends on a DbPool, not on a single Connection).