I’m trying to set up vector search in Typesense us...
# community-help
i
I’m trying to set up vector search in Typesense using the
embed
feature. Here’s what I added to my schema:
Copy code
{
  "name": "embedding",
  "type": "float[]",
  "embed": {
    "from": [
      "title",
      "category"
    ],
    "model_config": {
      "model_name": "ts/all-MiniLM-L12-v2"
    }
  }
}
But I’m getting this error:
Property 'embed.from' can only refer to string, string array, or image (for supported models) fields.
I’m using a wildcard (
".*"
) with
type: "auto"
in my schema, so
title
and
category
aren’t explicitly defined. Is there any way to make this work without explicitly adding:
Copy code
{
  "name": "title",
  "type": "string"
},
{
  "name": "category",
  "type": "string"
}
Or do I have to define these fields explicitly?
k
Can you post the full collection schema by using the collection listing API?
i
Copy code
{
  "name": "application-beta-index-beta-blue",
  "fields": [
    {
      "name": ".*",
      "type": "auto",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "title",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "additionalCategories",
      "type": "string[]",
      "facet": true,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "embedding",
      "type": "float[]",
      "facet": false,
      "optional": false,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "embed": {
        "from": [
          "title",
          "additionalCategories"
        ],
        "model_config": {
          "model_name": "ts/all-MiniLM-L12-v2"
        }
      },
      "hnsw_params": {
        "M": 16,
        "ef_construction": 200
      },
      "num_dim": 384,
      "stem": false,
      "store": true,
      "vec_dist": "cosine"
    },
    {
      "name": "attributes",
      "type": "object",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "barcode",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "brand",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "category",
      "type": "string[]",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "category_ids",
      "type": "string[]",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "childBarcodes",
      "type": "string[]",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "childSkus",
      "type": "string[]",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "color",
      "type": "string[]",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "created_at",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "department",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "discount_percentage",
      "type": "int64",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": true,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "gender",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "image_link",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "in_stock",
      "type": "bool",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": true,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "is_bestseller",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "is_featured",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "is_new",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "max_price",
      "type": "int64",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": true,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "min_price",
      "type": "int64",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": true,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "price",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "product_category",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "product_subcategory",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "product_type",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "sale_price",
      "type": "int64",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": true,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "size",
      "type": "string[]",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "sku",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "smallimage_link",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "status",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "url",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "url_key",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "attributes.product_type",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "attributes.product_subcategory",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "attributes.product_category",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "attributes.is_featured",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "attributes.is_new",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "attributes.is_bestseller",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "attributes.gender",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "attributes.department",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "attributes.brand",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "product_label",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "attributes.product_label",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "hover_image",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    },
    {
      "name": "attributes.hover_image",
      "type": "string",
      "facet": false,
      "optional": true,
      "index": true,
      "sort": false,
      "infix": false,
      "locale": "",
      "stem": false,
      "store": true
    }
  ],
  "default_sorting_field": "",
  "enable_nested_fields": true,
  "symbols_to_index": [],
  "token_separators": []
}
k
Ok the types of
title
and
category
are correct here. Are you getting this error during alter? When you try to add a new embedding field?