# Collection Alias
An alias is a virtual collection name that points to a real collection. If you're familiar with symbolic links on Linux, it's very similar to that.
Aliases are useful when you want to reindex your data in the background on a new collection and switch your application to it without any changes to your code. Let's take an example.
Let's say we have a collection called companies_june10
and an alias called companies
pointing to that collection.
collection ---> companies_june10
On the next day (June 11), we will create a new collection called companies_june11
and start indexing the documents in the background into this collection. When we are done indexing, if we updated the companies
alias to point to this new collection, your application would immediately start querying against the freshly indexed collection.
collection ---> companies_june11
Convenient isn't it? Let's now look at how we can create, update and manage aliases.
# Create or Update an alias
# Sample Response
# Definition
PUT ${TYPESENSE_HOST}/aliases/:alias
# Arguments
Parameter | Required | Description |
---|---|---|
collection_name | yes | Name of the collection you wish to map the alias to. |
# Retrieve an alias
We can find out which collection an alias points to by fetching it.
# Sample Response
# Definition
GET ${TYPESENSE_HOST}/aliases/:alias
# List all aliases
List all aliases and the corresponding collections that they map to.
# Sample Response
# Definition
GET ${TYPESENSE_HOST}/aliases
# Delete an alias
# Sample Response
# Definition
DELETE ${TYPESENSE_HOST}/aliases/:alias