cachable search (Close #2)