payloadvector-databaseqdrant

How to define a payload schema for a collection in Qdrant (Cluster UI)?


I'm using Qdrant in a cluster setup and want to define a payload_schema for a collection. I want to ensure that the structure of my payload is recognized and listed in the collection metadata.

Here’s what I’ve done so far:

I added a point to my collection using the following payload structure:

{
  "payload": {
    "text": "some string",
    "created_at": "2025-06-26T10:00:00Z",
    "context": "some context string"
  }
}

In this case, I'm only using two data types: string and datetime.

The point gets added successfully, and everything works at the point level. However, when I run a GET /collections/my_collection, the returned metadata shows:

...
"payload_schema": {}
...

So it looks like the schema is not being inferred or stored, even though the payload was accepted.

My questions:

How can I explicitly define the payload_schema so that it appears in the collection metadata?

Is the payload schema auto-generated based on inserted points, or do I need to set it manually?

Can I define the schema via API or UI in a clustered environment?

Is this behavior expected, or am I missing a step?

Thanks in advance for any help or documentation references!


Solution

  • You do not have to define the schema; Qdrant is schemaless. You just need to add the "with_payload : true" parameter to your request.