Implement search backend abstraction