Split apart search cache into multiple implementations.