Efficient similarity search by combining indexing and caching strategies