`dataset = dataset.map()` causes faiss index lost
{'login': 'Oaklight', 'id': 13076552, 'node_id': 'MDQ6VXNlcjEzMDc2NTUy', 'avatar_url': 'https://avatars.githubusercontent.com/u/13076552?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Oaklight', 'html_url': 'https://github.com/Oaklight', 'followers_url': 'https://api.github.com/users/Oaklight/followers', 'following_url': 'https://api.github.com/users/Oaklight/following{/other_user}', 'gists_url': 'https://api.github.com/users/Oaklight/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Oaklight/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Oaklight/subscriptions', 'organizations_url': 'https://api.github.com/users/Oaklight/orgs', 'repos_url': 'https://api.github.com/users/Oaklight/repos', 'events_url': 'https://api.github.com/users/Oaklight/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Oaklight/received_events', 'type': 'User', 'site_admin': False}
[{'id': 1935892857, 'node_id': 'MDU6TGFiZWwxOTM1ODkyODU3', 'url': 'https://api.github.com/repos/huggingface/datasets/labels/bug', 'name': 'bug', 'color': 'd73a4a', 'default': True, 'description': "Something isn't working"}]
[]
["Hi ! Indeed `map` is dropping the index right now, because one can create a dataset with more or fewer rows using `map` (and therefore the index might not be relevant anymore)\r\n\r\nI guess we could check the resulting dataset length, and if the user hasn't changed the dataset size we could keep the index, what do you think ?"
 'doing `.add_column("x",x_data)` also removes the index. the new column might be irrelevant to the index so I don\'t think it should drop. \r\n\r\nMinimal example\r\n\r\n```python\r\nfrom datasets import load_dataset\r\nimport numpy as np\r\n\r\ndata=load_dataset("ceyda/cats_vs_dogs_sample") #just a test dataset\r\ndata=data["train"]\r\nembd_data=data.map(lambda x: {"emb":np.random.uniform(-1,0,50).astype(np.float32)})\r\nembd_data.add_faiss_index(column="emb")\r\nprint(embd_data.list_indexes())\r\nembd_data=embd_data.add_column("x",[0]*data.num_rows)\r\nprint(embd_data.list_indexes())\r\n```'
 "I agree `add_column` shouldn't drop the index indeed ! Is it something you'd like to contribute ? I think it's just a matter of copying the `self._indexes` dictionary to the output dataset"]
## Describe the bug
assigning the resulted dataset to original dataset causes lost of the faiss index

## Steps to reproduce the bug
`my_dataset` is a regular loaded dataset. It's a part of a customed dataset structure
```python
self.dataset.add_faiss_index('embeddings')
self.dataset.list_indexes()
# ['embeddings']

dataset2 = my_dataset.map(
    lambda x: self._get_nearest_examples_batch(x['text']), batch=True
)

# the unexpected result:
dataset2.list_indexes()
# []

self.dataset.list_indexes()
# ['embeddings']
```

in case something wrong with my `_get_nearest_examples_batch()`, it's like this
```python
def _get_nearest_examples_batch(self, examples, k=5):
    queries = embed(examples)
    scores_batch, retrievals_batch = self.dataset.get_nearest_examples_batch(self.faiss_column, queries, k)
    return {
        'neighbors': [batch['text'] for batch in retrievals_batch],
        'scores': scores_batch
    }
```

## Expected results
`map` shouldn't drop the indexes, in another word, indexes should be carried to the generated dataset

## Actual results
map drops the indexes

## Environment info
<!-- You can run the command `datasets-cli env` and copy-and-paste its output below. -->
- `datasets` version: 1.18.3
- Platform: Ubuntu 20.04.3 LTS
- Python version: 3.8.12
- PyArrow version: 7.0.0

{'url': 'https://api.github.com/repos/huggingface/datasets/issues/3769/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}