docs: @Override
    public IndexingResult index(DbSession dbSession, Collection<EsQueueDto> items) {
      if (items.isEmpty()) {
        return new IndexingResult();
      }
  
      Set<String> views = items
        .stream()
        .map(EsQueueDto::getDocId)
        .collect(toHashSet(items.size()));
  
      BulkIndexer bulkIndexer = newBulkIndexer(Size.REGULAR, new OneToOneResilientIndexingListener(dbClient, dbSession, items));
      bulkIndexer.start();
  
      // Safety check to remove all views that may not have been deleted
      views.removeAll(dbClient.componentDao().selectExistingUuids(dbSession, views));
      views.forEach(v -> bulkIndexer.addDeletion(TYPE_VIEW, v));
      return bulkIndexer.stop();
    }