cache and keyword search