code: def fetch(self, _filter=None, ignore_incremental=False):
          
  
          logger.debug("Creating a elastic items generator.")
  
          scroll_id = None
          page = self.get_elastic_items(scroll_id, _filter=_filter, ignore_incremental=ignore_incremental)
  
          if not page:
              return []
  
          scroll_id = page["_scroll_id"]
          scroll_size = page['hits']['total']
  
          if scroll_size == 0:
              logger.warning("No results found from %s", self.elastic.anonymize_url(self.elastic.index_url))
              return
  
          while scroll_size > 0:
  
              logger.debug("Fetching from %s: %d received", self.elastic.anonymize_url(self.elastic.index_url),
                           len(page['hits']['hits']))
              for item in page['hits']['hits']:
                  eitem = item['_source']
                  yield eitem
  
              page = self.get_elastic_items(scroll_id, _filter=_filter, ignore_incremental=ignore_incremental)
  
              if not page:
                  break
  
              scroll_size = len(page['hits']['hits'])
  
          logger.debug("Fetching from %s: done receiving", self.elastic.anonymize_url(self.elastic.index_url))
docs: Fetch the items from raw or enriched index. An optional _filter
          could be provided to filter the data collected