> For the complete documentation index, see [llms.txt](https://docs.search.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.search.io/documentation/guides/e-commerce/define-schema-and-sync-data.md).

# Define schema and sync data

## Define schema

Schemas are all about performance. If you aren’t convinced, we wrote an article on [schema vs schemaless](https://www.search.io/blog/schema-vs-schemaless) just to convince you. 😉

You can define your schema in a couple of ways:

1. Manually in our [admin console](https://app.search.io/collection/schema), here: \ <img src="/files/vJNI1hb1UPO5ZitZaivg" alt="" data-size="original">
2. Via our [API](https://dev.search.io/docs/api/#tag/Schema)
3. By uploading a sample dataset during your collection setup
4. Using one of our [Integrations](/documentation/integrations/shopify.md)

{% hint style="info" %}
Note: If you’re using our [Shopify](/documentation/integrations/shopify.md) or another integration, defining your schema will happen automatically for you.
{% endhint %}

For more information on how to define and change a schema, head over to:

{% content-ref url="/pages/kTPEPmBZZkL7ppHz5XVM" %}
[Schema](/documentation/fundamentals/indexing-data/schema.md)
{% endcontent-ref %}

## Sync data

There are a couple of different ways to sync your data with search.io:

1. When creating a collection, you can provide a JSON file, and search.io walks you through a data indexing wizard:

   <img src="/files/UtY7KvaiPhOBaxYTXEyn" alt="" data-size="original">
2. Or you can use or [API and client libraries](https://docs.search.io/developer-documentation/fundamentals/api-and-client-libraries) to load and update data.
