code: def _build_index(self):
          
  
          datasets_index = {}
          distributions_index = {}
          fields_index = {}
  
          # recorre todos los datasets
          for dataset_index, dataset in enumerate(self.datasets):
              if "identifier" in dataset:
                  datasets_index[dataset["identifier"]] = {
                      "dataset_index": dataset_index
                  }
                  # recorre las distribuciones del dataset
                  for distribution_index, distribution in enumerate(
                          dataset.get("distribution", [])):
                      if "identifier" in distribution:
                          distributions_index[distribution["identifier"]] = {
                              "distribution_index": distribution_index,
                              "dataset_identifier": dataset["identifier"]
                          }
                          # recorre los fields de la distribucion
                          for field_index, field in enumerate(
                                  distribution.get("field", [])):
                              if "id" in field:
                                  fields_index[field["id"]] = {
                                      "field_index":
                                          field_index,
                                      "dataset_identifier":
                                          dataset["identifier"],
                                      "distribution_identifier":
                                          distribution["identifier"]
                                  }
  
          setattr(self, "_distributions_index", distributions_index)
          setattr(self, "_datasets_index", datasets_index)
          setattr(self, "_fields_index", fields_index)
docs: Itera todos los datasets, distribucioens y fields indexandolos.