https://typesense.org logo
Join Slack
Powered by
# community-help
  • t

    Team FlutterflowDevs

    09/23/2025, 12:23 PM
    Hi Everyone, I am currently facing an issue with Typesense where I am unable to view certain features and collections, as shown in the attached image. Could you please confirm if this is a general issue or if it is specific to my account? Has anyone else experienced a similar problem? Thank you.
    a
    • 2
    • 1
  • a

    Ashok Kumar

    09/23/2025, 1:38 PM
    Hi all, Is there a way to group by a column and return documents with max(some_col) For instance I have many offers for tomato. All of them have the same pid. Can I group_by and then do max(price) ?
    Copy code
    {
      "searches": [
        {
          "collection": "t",
          "q": "*",
          "query_by": "pid",
          "group_by": "pid",
          "page": 1,
          "per_page": 100
        }
      ]
    }
    Copy code
    {
      "results": [
        {
          "facet_counts": [],
          "found": 2,
          "found_docs": 4,
          "grouped_hits": [
            {
              "found": 2,
              "group_key": [
                "2"
              ],
              "hits": [
                {
                  "document": {
                    "id": "3",
                    "pid": "2",
                    "price": 21
                  },
                  "highlight": {},
                  "highlights": []
                },
                {
                  "document": {
                    "id": "2",
                    "pid": "2",
                    "price": 20
                  },
                  "highlight": {},
                  "highlights": []
                }
              ]
            },
            {
              "found": 2,
              "group_key": [
                "1"
              ],
              "hits": [
                {
                  "document": {
                    "id": "1",
                    "pid": "1",
                    "price": 11
                  },
                  "highlight": {},
                  "highlights": []
                },
                {
                  "document": {
                    "id": "0",
                    "pid": "1",
                    "price": 10
                  },
                  "highlight": {},
                  "highlights": []
                }
              ]
            }
          ],
          "out_of": 4,
          "page": 1,
          "request_params": {
            "collection_name": "t",
            "first_q": "*",
            "per_page": 100,
            "q": "*"
          },
          "search_cutoff": false,
          "search_time_ms": 3
        }
      ]
    }
    a
    f
    • 3
    • 4
  • s

    Shiva Dixith

    09/23/2025, 7:28 PM
    Hi all In overrides, does rule.query support regex( or at least multiple similar strings) ? Does it also have typo tolerance ?
    a
    • 2
    • 1
  • p

    Phillip Young

    09/23/2025, 8:01 PM
    Hi, I want to use auto-embedding with multiple fields but was wondering if there can be added structure / context for each field.
    Copy code
    "embed": {
            "from": [
              "product_name",
              "categories"
            ],
    The docs state that it will concatenate the product_name and categories field, so for example, if the name was "awesome name" and the category was "awesome category", it would create an embedding based on "awesome name awesome category". I'm wondering if it's possible to create an embedding on something like: "name: awesome name, category: awesome category" so that there is more information given. "awesome name awesome category" vs "name: awesome name, category: awesome category" From the docs, there is an "indexing_prefix" that can be used, but that is only attached to the beginning of the text and can't be done per-field. Is there a way to add prefixes per-field (and maybe field dependent) for auto-embedding multiple fields? Edit: One work-around that I'm thinking of is creating an extra string field that is just the whole text I want to embed, and then matching the image-search docs, doing "store": false. the textToEmbed would then be "name: awesome name, category: awesome category"
    Copy code
    {
          "name": "textToEmbed",
          "type": "string",
          "store": false
        },
        {
          "name": "embedding",
          "type": "float[]",
          "embed": {
            "from": [
              "textToEmbed"
            ],
            "model_config": {
              "model_name": "something"
            }
          }
        }
    Thanks!
    a
    • 2
    • 1
  • s

    Sharnam Singhwal

    09/24/2025, 7:04 AM
    Hello, anyone here using typesense image search for e-commerce (primarily fashion) products? Wanted some advice on possible optimisations to improve search results. Thank you!
    a
    • 2
    • 1
  • u

    Urvis

    09/24/2025, 7:39 AM
    Hello @Kishore Nallan @Jason Bosco @Fanis Tharropoulos I have one scenario. In which I have 2 terms. Suppose, 1. Spare parts 2. BMW X3 Now, there is a field in my typesense collection named as "text". Now I want only those results which contain exactly the above 2 terms anywhere in the text. So currently I tried something like this, q = * query_by = text include_fields = text filter_by = text: Spare parts && text: BMW X3 But it doesn't consider the exact texts, but does a word-level partial match on the text field, without taking the token position into account. So, how can we achieve this ?
    f
    • 2
    • 6
  • t

    Thomas Reither

    09/24/2025, 4:10 PM
    Hello, Do collection curations apply to semantic/vector-only searches? I've tested between two presets, one that only queries a vector field and another that performs a hybrid search against a vector field and several string fields. When using the hybrid preset, all curations apply normally, but switching over to the vector-only search preset, the curations don't seem to affect the search results anymore.
    a
    • 2
    • 5
  • v

    vaibhav jindal

    09/24/2025, 7:56 PM
    Hi everyone I have one doubt if we are using one NLP based search, do we need to do any extra step while loading the document into the typesense server. Thanks
    a
    • 2
    • 11
  • j

    Jesper Møjbæk

    09/25/2025, 5:58 AM
    Hi Is there an SLA for typesense cloud? Not regarding support, but more for service stability, like uptime response time etc.?
    f
    k
    • 3
    • 3
  • h

    Henrik Sjödahl

    09/25/2025, 12:40 PM
    How would i prioritize a match within matching results with the same score? I've got a products collection with a "keywords" String[] field. Lets say i've got 20 products that have the keyword "milk" but i want to be able to weight some products more than others. My plan was to add a keyword multiple times to the string arra to make it more important, like so: ["milk","milk","milk"]. Byt Typesense seem to only score that as a single match. It gets the same score as a product with only one "milk" keyword.
    Copy code
    {
      "name": "products",
      "fields": [
        {"name": "keywords", "type": "string[]" },
      ]
    }
    Copy code
    {"id": "one", "keywords": ["milk"]}
    {"id": "two", "keywords": ["milk", "milk"]}
    {"id": "three", "keywords": ["milk", "milk", "milk"]}
    Copy code
    {
      "collection": "products",
      "q": "milk",
      "query_by": "keywords"
    }
    a
    • 2
    • 2
  • p

    Paul Wallnöfer

    09/25/2025, 3:02 PM
    Hello everyone, i was thinking about how to improve my memory usage on a large database. It came to my mind that i could set some fields to
    optional:true
    . Does this affect the memory usage or is this a stupid thing to ask?
    ✅ 1
    a
    • 2
    • 2
  • j

    Jonathan Zylberberg

    09/25/2025, 7:42 PM
    Hello, im looking for ways to decrease the CPU usage of my queries. Any tips you guys have in decreasing CPU at query time
    a
    • 2
    • 1
  • a

    Ahamed Asif

    09/26/2025, 6:26 AM
    trying to impliment a query like this "q": "pizza", "query_by": "sku_name,embedding,category_name,basic_tag_type", "exclude_fields": "embedding", "vector_query": "embedding:([], queries:[\"chicken\",\"western\"], query_weights:[0.5,0.5])", "group_by": "place_name,chained_tags", "sort_by": "rating:desc" current collection schema is this chicken and western are personlized tags {"sku_id": 3778422, "sku_name": "Fish Cutlet (10pcs)", "sku_price": 1300.0, "category_name": "Family Pack", "sku_image": "", "place_id": 42862, "place_name": "Lamprais Corner (Mount Lavinia)", "place_location": [6.8300328, 79.8647537], "portal_status": 1, "merchant_status": 0, "service_group_code": "FOOD_DELIVERY", "rating": 0.0, "no_of_ratings": 0, "top_tags": [], "basic_tag_type": [], "personalized_tags": [], "generic_keywords": [], "chained_tags": [], "tag_ids": "", "popularity": 0.0, "popularity_bin": 0, "hygiene_bin": "0", "aov_bin": "3"} it works fine up until we use grouping but when we include a sorting parameter like the one we have here we are getting an error "results": [ { "code": 400, "error": "Could not parse the filter query." } ] } we might need to add more sorting or filtration potentially request help on why we are getting this error
    h
    • 2
    • 18
  • t

    Tristan Bagnulo

    09/26/2025, 5:49 PM
    Hi Typesense community 🙂 I have been working with Natural Language Search query building and I discovered an interesting behavior with field ordering in
    query_by
    that I wanted to share and get your insights on. Issue: When searching for "fighting", I was getting 0 results despite having documents containing that exact word in the
    title
    field. Root Cause Found: The position of fields in the
    query_by
    parameter significantly affects search results. Here's what I discovered: ❌ This returned 0 results:
    query_by:doc_id,doc_type,category_a,category_b,category_c,title,summary,description,tags,keywords,..."
    ✅ This returned 1 result (correct):
    query_by: "title,summary,description,tags,keywords,category_a,category_b,category_c,doc_id,doc_type,..."
    Setup: • Using Typesense with Natural Language search (
    nl_query: true
    ) • Collection has ~3,250 documentsSame query, same parameters, only
    query_by
    field order changed • Tested with
    exhaustive_search: true
    - didn't fix the issue Debug Evidence: With working field order,
    text_match_info
    shows:
    Copy code
    {
      "best_field_weight": 15,
      "fields_matched": 1,
      "best_field_score": "1108091338752"
    }
    Questions: 1. Is this expected behavior? Should field position in
    query_by
    affect whether matches are found at all? 2. Does Typesense have any internal logic that stops searching after early fields in the list? 3. Are there best practices for field ordering in
    query_by
    for optimal search results? 4. Could it be the case that if typesense doesn't get a result in the first few fields, it decides to give up? My queries had 16 fields in total. Solution Implemented: I reordered fields to put text-rich content fields first, categorical/ID fields last. This fixed the search completeness issue. Would love to understand the underlying mechanism better! Is this documented behavior or something worth investigating further?
    a
    • 2
    • 1
  • j

    John

    09/27/2025, 8:35 AM
    Hi everyone, I am facing an issue and needs help ASAP, previously I drop and re-import data to my collection, but in the middle of import process I got OUT_OF_DISK error even though I have nothing inside my cluster right now, maybe someone can help?
    k
    • 2
    • 18
  • i

    Isaiah Joshua Samonte

    09/27/2025, 11:38 PM
    how do u guys silence the logs like these? typesense-1 | I20250927 233600.963727 262 raft_server.cpp:692] Term: 19, pending_queue: 0, last_index: 478, committed: 478, known_applied: 478, applying: 0, pending_writes: 0, queued_writes: 0, local_sequence: 1689 typesense-1 | I20250927 233600.963877 306 raft_server.h:60] Peer refresh succeeded!
    a
    • 2
    • 3
  • d

    Dave

    09/29/2025, 9:45 AM
    Hi, I am facing issues with my cloud node that I upgraded. Since then the node is switching from healthy to unhealthy endlessly. Can someone pls reach out to me?
    k
    • 2
    • 5
  • h

    Henrik Sjödahl

    09/29/2025, 12:04 PM
    Hi! I noticed that when using a joined field in combination with pinned_hits, the pinned_hits are not getting any of the joined documents. I guess this is by design since the pinned hits are not being filtered by, but is there a way to get around this?
    a
    • 2
    • 5
  • h

    Hung-wei Chuang

    09/29/2025, 10:00 PM
    i want to return at least x results for each filter criteria, i.e.
    Copy code
    "filter_by": "series_keywords:[hockey,football]",
    "group_by": "series_keywords",
    however, because football is more popular than hockey, this query returns 50 results of just football (the sort criteria is by popularity score) is it possibly to apply some kind of faceting/grouping for each filter clause such that i can get some results for each term? or is the best way to do this to do a multi-search on each keyword individually? (is there a limit on this? what are the performance considerations)
    y
    a
    k
    • 4
    • 9
  • a

    Ahamed Asif

    09/30/2025, 4:52 AM
    https://typesense.org/docs/29.0/api/analytics-query-suggestions.html#counting-events-for-popularity hi so for this type of rule can i get an explanation for this correct me if im wrong but if we call a click event for this for this analytic rule isnt suppose do add a document into this this collection { "name": "products", "fields": [ {"name": "title", "type": "string"}, {"name": "popularity", "type": "int32", "optional": true} ] }
    f
    • 2
    • 1
  • c

    Christopher Lindblom

    09/30/2025, 11:29 AM
    Are there any updates on facets from joins?
    k
    • 2
    • 6
  • j

    Jonatan Jall Jahja

    09/30/2025, 1:08 PM
    Hi everyone! I’m debugging a performance issue in a situation where we are doing about 10 parallel search requests to different collections inside of a multi search. In the return payload I can see that each request takes about 200ms, but the full request takes about 2s. Are multi search searches not parallelised? If I try to instead send 10 different HTTP requests in parallel, the longest request takes about 1s instead, so in total it’s twice as fast. Does this make sense?
    k
    • 2
    • 5
  • a

    AntoineLF

    09/30/2025, 3:39 PM
    Hello, questions on embedding indexing: if I don't store embeddings, is everything going to be functionally the same (I don't need values back) ? Also, I assume it is going to save disk usage ? Thank you
    Copy code
    {
      "index": true,
      "name": "embedding",
      "optional": false,
      "sort": false,
      "store": false,
      "type": "float[]",
      "num_dim": 1536
    }
    a
    • 2
    • 2
  • m

    Matheus Bombonato

    10/01/2025, 1:03 AM
    Hey guys! I have a question: Sometimes, I reach the rate limit for my Embedding API. When I get the error below from Typesense, does it mean the document is not imported, or just the embedding is not created/updated?
    Copy code
    Fail importing documents: [{\"code\":429,\"embedding_error\":{\"error\":\"API error: Requests to the Embeddings_Create Operation under Azure OpenAI API version 2023-05-15 have exceeded call rate limit of your current OpenAI S0 pricing tier. Please retry after 1 second. Please go here: <https://aka.ms/oai/quotaincrease> if you would like to further increase the default rate limit. For Free Account customers, upgrade to Pay as you Go here: <https://aka.ms/429TrialUpgrade>.
    a
    • 2
    • 5
  • a

    Ashley Hindle

    10/01/2025, 7:36 AM
    👋 Howdy all - struggling to retrieve content based on a code's method or function name I index docs for various packages, then I expect to be able to search for
    updateOrCreate
    but it doesn't find the document that has that exact string in The string in the docs is
    Flight::updateOrCreate(
    so I added
    :
    and
    (
    as token separators, but it still didn't find it. If I separate it to
    update or create
    it finds it but it's lower down the relevance than
    updateOrInsert
    , and this 'camel case separation' makes a different search for
    shouldRegister
    return less relevant results because 'register' is in a lot of places 😅 How can I make typesense indexing/retrieval work with method names like this? It's an exact match so it feels like I shouldn't be having problems, I'm half-tempted to query my local DB first using
    where content like '%updateOrCreate%
    then force those results in or something 😬
    j
    • 2
    • 2
  • h

    Henrik Sjödahl

    10/01/2025, 9:32 AM
    Hi! I've got a collection with a number of Fields that are not defined in the schema. I noticed the auto schema detection, or rather the Data Coercion, doesn't work when i've got fields in a object. Is this by design? In my repro below i've got a companies collection with a object "foo"-field with a indexed "foo.field"-field. When importing, i also include a "foo.unindexed_field" with as an int on the first object, and a float on the second. Resulting in a error for the second object:
    Field "foo.unindexed_field" must be an int64.
    Copy code
    ### Run Typesense via Docker ########################################
    set -x
    
    export TYPESENSE_API_KEY=xyz
    export TYPESENSE_HOST=<http://localhost:8108>
    
    docker stop typesense-repro 2>/dev/null
    docker rm typesense-repro 2>/dev/null
    rm -rf "$(pwd)"/typesense-data-dir-repro
    mkdir "$(pwd)"/typesense-data-dir-repro
    
    # Wait for Typesense to be ready
    docker run -d -p 8108:8108 --name typesense-repro \
                -v"$(pwd)"/typesense-data-dir-repro:/data \
                typesense/typesense:29.0 \
                --data-dir /data \
                --api-key=$TYPESENSE_API_KEY \
                --enable-cors
    
    # Wait till typesense is ready.
    until curl -s -o /dev/null -w "%{http_code}" "$TYPESENSE_HOST/health" -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" | grep -q "200"; do
      sleep 2
    done
    
    curl -s "$TYPESENSE_HOST/debug" \
           -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" | jq
    
    
    curl -s "$TYPESENSE_HOST/collections" \
           -X POST \
           -H "Content-Type: application/json" \
           -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" \
           -d '
              {
                 "name": "companies",
                 "fields": [
                   {"name": "company_name", "type": "string" },
                   {"name": "foo", "type": "object" },
                   {"name": "foo.field", "type": "float" }
                 ],
                 "enable_nested_fields": true
               }' | jq
    
    curl -s "$TYPESENSE_HOST/collections/companies/documents/import?action=create" \
            -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" \
            -H "Content-Type: text/plain" \
            -X POST \
            -d '{"id": "124", "company_name": "Stark Industries", "foo": {"field": 123, "unindexed_field": 123}}
                {"id": "125", "company_name": "Acme Corp", "foo": {"field": 123.45, "unindexed_field": 123.45}}'  | jq
    
    docker stop typesense-repro
    docker rm typesense-repro
    
    ### Documentation ######################################################################################
    # Visit the API reference section: <https://typesense.org/docs/28.0/api/collections.html>
    # Click on the "Shell" tab under each API resource's docs, to get shell commands for other API endpoints
    a
    • 2
    • 3
  • w

    Wahid Bawa

    10/01/2025, 3:33 PM
    Hey all, using version 29.0 of typesense, we've been running into an issue when adding a node to our cluster that occurs kind of randomly. When we try to spin up the new cluster we get this error:
    Copy code
    W20251001 15:21:35.520613  2237 snapshot.cpp:224] Snapshot file exist but meta not found so delete it, path: /opt/typesense/data/state/snapshot/temp/db_snapshot
    Deleting the snapshot and restarting the typesense service fixes this, but we're not sure why it happens in the first place. We don't start our nodes with any snapshot, we depend on the nodes to update the collections. Any reason why this could be happening? We've also seen this same behaviour recently with V26 clusters as well. Thanks!
    a
    • 2
    • 6
  • d

    Diego Chacón Sanchiz

    10/02/2025, 9:13 AM
    Hi all, we are running a 3-node Typesense cluster (v29.0). One follower entered into
    state ERROR
    and keeps printing warnings like: W20251002 105711.889896 1336311 node.cpp:2366] node default_group172.27.48.138107:443 is not in active state current_term 202 state ERROR E20251002 105711.890146 1336298 collection.cpp:740] Update to disk failed. Will restore old document We already checked the disk usage (64% full) What are the typical root causes of this type of error? What can cause it? (Corrupted collection files? Interrupted snapshot installation? RocksDB inconsistency?) What is the recommended recovery procedure in this case? Any guidance or best practices would be appreciated!!
    k
    a
    a
    • 4
    • 16
  • g

    Gorkem Baris Yesiltas

    10/02/2025, 12:34 PM
    Hey everyone! We are using v29 and we have a collection with an
    endDate
    field (sortable). I’m trying to use the pivot sort feature with
    endDate(pivot:1728386250):asc
    but I’m getting the error:
    Copy code
    RequestMalformed: Request failed with HTTP code 400 | Server said: Bad syntax for sorting field `endDate`
    we’re using the typesense js package version
    2.1.0
    here’s the config of the
    endDate
    field:
    Copy code
    {
          "facet": true,
          "index": true,
          "infix": false,
          "locale": "",
          "name": "endDate",
          "optional": false,
          "sort": true,
          "stem": false,
          "stem_dictionary": "",
          "store": true,
          "type": "int64"
    },
    a
    • 2
    • 5
  • c

    Chandar Venkata Rama

    10/03/2025, 2:26 PM
    Hello I have a typesense query for multisearch
    Copy code
    { "searches":[ { "q":"Acrylic polymer countertop", "limit":50, "collection": "resource", "query_by":"name", "sort_by":"", "page":1, "num_typos":0, } ] }
    this returns total rows as 2 and when i add additional filters instead of reducing the count, the total count is increasing for eg :
    Copy code
    { "searches":[ { "q":"Acrylic polymer countertop", "limit":50, "collection": "resource", "query_by":"name", "filter_by":manufacturer:=[abcd] "sort_by":"", "page":1, "num_typos":0, } ] }
    Should i add exhaustive_search=true ? will this cause any memory issues
    a
    • 2
    • 1