def preview(self, n=10, k='items', kheader='displayLink', klink='link', kdescription='snippet'):
    """Print a preview of the search results.
    
    Args:
      n (int):
        Maximum number of search results to preview
      k (str):
        Key in :class:`api.results`.metadata to preview
      kheader (str):
        Key in :class:`api.results`.metadata[``k``] to use as the header
      klink (str):
        Key in :class:`api.results`.metadata[``k``] to use as the link if image search
      kdescription (str):
        Key in :class:`api.results`.metadata[``k``] to use as the description
    """
    if 'searchType' in self.cseargs:
      searchType = self.cseargs['searchType']
    else:
      searchType = None
    items = self.metadata[k]
  
    # (cse_print) Print results
    for i, kv in enumerate(items[:n]):
      if 'start' in self.cseargs:
        i += int(self.cseargs['start'])
      
      # (print_header) Print result header
      header = '\n[' + str(i) + '] ' + kv[kheader]
      print(header)
      print('=' * len(header))
      
      # (print_image) Print result image file
      if searchType == 'image':
        link = '\n' + path.basename(kv[klink])
        print(link)
        
      # (print_description) Print result snippet
      description = '\n' + kv[kdescription]
      print(description)