code: def stream_index(self, bucket, index, startkey, endkey=None,
                       return_terms=None, max_results=None, continuation=None,
                       timeout=None, term_regex=None):
          
          if not self.stream_indexes():
              raise NotImplementedError("Secondary index streaming is not "
                                        "supported on %s" %
                                        self.server_version.vstring)
  
          if term_regex and not self.index_term_regex():
              raise NotImplementedError("Secondary index term_regex is not "
                                        "supported on %s" %
                                        self.server_version.vstring)
  
          if timeout == 'infinity':
              timeout = 0
  
          params = {'return_terms': return_terms, 'stream': True,
                    'max_results': max_results, 'continuation': continuation,
                    'timeout': timeout, 'term_regex': term_regex}
          bucket_type = self._get_bucket_type(bucket.bucket_type)
          url = self.index_path(bucket.name, index, startkey, endkey,
                                bucket_type=bucket_type, **params)
          status, headers, response = self._request('GET', url, stream=True)
  
          if status == 200:
              return HttpIndexStream(response, index, return_terms)
          else:
              raise RiakError('Error streaming secondary index.')
docs: Streams a secondary index query.