# Collections

In Typesense, a group of related documents is called a collection. A collection is roughly equivalent to a table in a relational database.

# Create a collection

When a collection is created, we give it a name and describe the fields that will be indexed from the documents that are added to the collection.

Your documents can contain other fields not mentioned in the collection's schema - they will be stored but not indexed.

# Sample Response

# Definition

POST ${TYPESENSE_HOST}/collections

# Arguments

Parameter Required Description
name yes Name of the collection you wish to create.
fields yes A list of fields that you wish to index for querying, filtering and faceting. For each field, you have to specify the name and type.

Declaring a field as optional
A field can be declared as optional by setting "optional": true.

Declaring a field as a facet
A field can be declared as a facetable field by setting "facet": true.

Faceted fields are indexed verbatim without any tokenization or preprocessing. For example, if you are building a product search, color and brand could be defined as facet fields.
default_sorting_field yes The name of an int32 / float field that determines the order in which the search results are ranked when a sort_by clause is not provided during searching. This field must indicate some kind of popularity. For example, in a product search application, you could define num_reviews field as the default_sorting_field.

Additionally, when a word in a search query matches multiple possible words (either because of a typo or during a prefix search), this parameter is used to rank such equally matching tokens. For e.g. both "john" and "joan" are 1-typo away from "jofn". Similarly, in a prefix search, both "apple" and "apply" would match the prefix "app".

# Supported search field types

Typesense allows you to index the following types of fields:

string
int32
int64
float
bool

You can define an array or multi-valued field by suffixing a [] at the end:

string[]
int32[]
int64[]
float[]
bool[]

# Retrieve a collection

Retrieve the details of a collection, given its name.

# Sample Response

# Definition

GET ${TYPESENSE_HOST}/collections/:collection

# List all collections

Returns a summary of all your collections. The collections are returned sorted by creation date, with the most recent collections appearing first.

# Sample Response

# Definition

GET ${TYPESENSE_HOST}/collections

# Drop a collection

Permanently drops a collection. This action cannot be undone. For large collections, this might have an impact on read latencies.

# Sample Response

# Definition

DELETE ${TYPESENSE_HOST}/collections/:collection

Last Updated: 6/14/2021, 5:46:29 PM