# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.search.io/documentation/guides/e-commerce/define-schema-and-sync-data.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
