full-text-searchvector-searchqdrant

Qdrant: create index on payload text field


I am using Qdrant to store vectors and payload. For example, my documents are like:

{ "id": 1234,
  "title": "my_title",
  "description": "my_description",
  "keywords": [..],
  "contacts": "email"
  Vector: embedding(title)
}

Currently I have almost 500 data points stored into a collection. I am retrieving data using vector search comparing the input from the user to the vector field, which is the embedding of the title. It seems to work very well. However, I was wondering what are the advantages of creating a payload index on the title field with the following istruction:

PUT /collections/my_collectino/index
{
    "field_name": "title",
    "field_schema": "text"
}

Will this operation affects the speed of the search or just the quality of the retrieve?


Solution

  • It will affect the speed of filtering on a "title" field. For example, if you want to introduce some combinations of vector and keyword search, aka you have some keyword (brand name) in a title, and you want to filter it with Qdrant's filtering mechanisms, it makes sense to index the payload field. (more here: https://qdrant.tech/articles/vector-search-filtering/)

    Indexing the payload field won't affect the speed of vector search, though, which you're performing now, as I got it:)