code: def read_block(self, size, from_date=None):
          
          search_query = self._build_search_query(from_date)
          hits_block = []
          for hit in helpers.scan(self._es_conn,
                                  search_query,
                                  scroll='300m',
                                  index=self._es_index,
                                  preserve_order=True):
  
              hits_block.append(hit)
  
              if len(hits_block) % size == 0:
                  yield hits_block
  
                  # Reset hits block
                  hits_block = []
  
          if len(hits_block) > 0:
              yield hits_block
docs: Read items and return them in blocks.
  
          :param from_date: start date for incremental reading.
          :param size: block size.
          :return: next block of items when any available.
          :raises ValueError: `metadata__timestamp` field not found in index
          :raises NotFoundError: index not found in ElasticSearch