code: def write(self, items):
          
  
          if self._read_only:
              raise IOError("Cannot write, Connector created as Read Only")
  
          # Uploading info to the new ES
          rows = items.to_dict("index")
          docs = []
          for row_index in rows.keys():
              row = rows[row_index]
              item_id = self.make_hashcode(row[Events.PERCEVAL_UUID], row[Git.FILE_PATH], row[Git.FILE_EVENT])
              row['uuid'] = item_id
              doc = {
                  "_index": self._es_index,
                  "_type": "items",
                  "_id": item_id,
                  "_source": row
              }
              docs.append(doc)
          # TODO exception and error handling
          chunk_size = 2000
          chunks = [docs[i:i + chunk_size] for i in range(0, len(docs), chunk_size)]
          for chunk in chunks:
              helpers.bulk(self._es_conn, chunk)
          logger.info(self.__log_prefix + "Written: " + str(len(docs)))
docs: Write items into ElasticSearch.
  
          :param items: Pandas DataFrame