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

    Denny Vuong

    07/27/2025, 2:05 AM
    how can i clone my cluster to another region and delete previous cluster. I selected the wrong region.
    k
    • 2
    • 1
  • l

    Licheng Wu

    07/28/2025, 2:13 AM
    Hi, I'm wondering whether it is possible to exclude data from the JOIN-ed collection from the query? For example, I have collections A and B where collection B references A. I am making a query where the root collection is collection A, and I only want documents from collection A to be returned. Collection B is simply used to help filter the documents from collection A. However, documents from collection B are returned in the query too, and I do not need those data. Can I exclude these documents from B from the final response?
    ✅ 1
    • 1
    • 1
  • l

    Licheng Wu

    07/28/2025, 2:36 AM
    Hi, for Typesense JOINs, must the reference field be a string? Here is the example on the documentation:
    Copy code
    {
      "name": "author_id",
      "type": "string",
      "reference": "authors.id"
    }
    I am getting an error if I try to create a one-to-many reference using an integer type, such as something like this
    Copy code
    {
      "name": "author_id",
      "type": "int64",
      "reference": "authors.id"
    }
    When trying to reindex, the error says that the field must have a string value.
    ✅ 1
    f
    • 2
    • 2
  • t

    Thu Vo

    07/28/2025, 2:51 AM
    Hey team, im getting this error in TS server
    Function not implemented
    Copy code
    store.cpp:296] Checkpoint CreateCheckpoint failed at snapshot path: /root/lib/typesense/data/state/snapshot/temp/db_snapshot, msg:IO error: while link file to /root/lib/typesense/data/state/snapshot/temp/db_snapshot.tmp/000085.sst: /root/lib/typesense/data/db/000085.sst: Function not implemented
    Is there anything i missed to config?
    f
    • 2
    • 6
  • a

    Arnaud Ledoeuff

    07/28/2025, 8:54 AM
    Hi everyone, I'm trying to use a
    filter_by
    condition in my Typesense search like this:
    Copy code
    filter_by: "quantity:<=minimumQuantity"
    But I’m getting an error. It works fine if I use a static value (like
    filter_by: "quantity:<=0"
    ). ❓ Is it possible to compare two fields within a document using
    filter_by
    , or does
    filter_by
    only support static values? Thanks a lot for your help!
    f
    • 2
    • 2
  • j

    Jaydipsinh Vaghela

    07/28/2025, 10:39 AM
    Hey everyone, Hope you’re all doing well! I’m JD, the lead engineer at WorkMade, a FinTech startup. We’re in the process of implementing
    global search
    in our mobile app and are planning to use Typesense for this feature. As we reviewed the documentation, we noticed that Typesense requires defining documents based on the structure of the data. Since we’re dealing with multiple tables (like
    transactions
    ,
    externalTransactions
    ,
    taxCalculations
    ,
    yearlyTaxSummaries
    , etc.), I wanted to get some guidance on the best architectural approach. Here’s our core question: To support global search across all these data types, should we: 1.
    Create one unified document schema
    that merges relevant fields from all the tables into a single collection/document type? 2. Or
    create multiple collections
    , one per table, and query them independently? Also, how does
    global search work
    across multiple documents/collections in Typesense? Does it support cross-collection search natively or would we need to stitch results together manually? Any insights, best practices, or examples would be really appreciated. We’re just getting started with Typesense, so trying to understand what makes the most sense long term. Thanks so much in advance! JD, WorkMade
    f
    • 2
    • 2
  • a

    Andrew Powell

    07/28/2025, 9:16 PM
    hey all. I’m using curl to query, and I’ve got two facets I’m trying to filter on. org_id and type. I’ve tried every format of querystring I can think of and keep getting back
    Could not parse the filter query
    . anyone have any tips on how the filter query param is supposed to look before and after uri encoding?
    a
    • 2
    • 2
  • j

    John Sokol

    07/28/2025, 9:33 PM
    Hi everyone, when I restart Typesense it takes well over 3-4 hours for all collections to load for the /health endpoint = {"ok": true}. Any tips or ideas on how to speed up the collection loading process? Context: 4 collections • Collection 1 has 50861 documents • Collection 2 has 1,564,924 documents • Collection 3 has ~6.6M documents • Collection 4 has ~8M documents
    a
    t
    • 3
    • 4
  • g

    grip

    07/28/2025, 11:21 PM
    are facet counts always 100% accurate with the default configuration? I am seeing times when the facet count is one number and then if I filter by that facet's value the actual returned result hit count is slightly different - is this to be expected?
    k
    • 2
    • 1
  • h

    Hung-wei Chuang

    07/29/2025, 2:48 AM
    running into a strange case where i have
    Copy code
    'text_match_info': {'best_field_score': '1108091339008',
                                   'best_field_weight': 13}]}
    and my match is on
    event_title
    , but my
    event_title
    weight is specified as
    15
    in my query params - so why is best_field_weight 13? this happens when using
    max_score
    . the documentation says
    Only when several fields match the query equally, we use the field weights to decide which document should be prioritized.
    , but then what's the purpose of
    best_field_weight
    ? i understand how field_score can be kind of a blackbox, but is best_field_weight too?
  • d

    Denny Vuong

    07/29/2025, 5:31 AM
    Hi - I can't seem to delete my collection. It just keeps timing out
    k
    t
    • 3
    • 18
  • s

    Santhosh

    07/29/2025, 8:41 AM
    Hi @Kishore Nallan @Jason Bosco and Team, I'm encountering an error while using the Typesense Node.js client (
    @typesense/client
    version
    1.8.2
    ) when performing a document search via
    GET
    request. The client fails and retries multiple times before throwing a JSON parsing error. ✅ Mock Request Payload (adjusted keys/values)
    Copy code
    {
      "q": "mock-search-id",
      "query_by": [
        "supportId",
        "vendorId",
        "storeId",
        "companyId",
        "pfAccountId",
        "name",
        "email",
        "supportType",
        "vendorType",
        "status"
      ],
      "facet_by": [
        "supportType",
        "vendorType",
        "status"
      ],
      "page": 1,
      "per_page": 50,
      "exclude_fields": [
        "id"
      ],
      "filter_by": "supportId:mock-support-id && type:VENDORS && vendorType:[STANDARD,MARKETPLACE_VENDOR,PF_VENDOR,PF_TEST_VENDOR,SUPPORT_VENDOR,TEST_VENDOR,DEACTIVATED_VENDOR,ISV_VENDOR,BLOCKED_VENDOR]",
      "max_candidates": 200,
      "infix": [
        "fallback",
        "fallback",
        "fallback",
        "fallback",
        "fallback",
        "off",
        "fallback",
        "off",
        "off",
        "off"
      ]
    }
    📋 Client Logs
    Copy code
    Request #1753775896185: Performing GET request: /collections/<collection-name>/documents/search
    Request #1753775896185: Nodes Health: Node 0 is Healthy
    Request #1753775896185: Updated current node to Node 0
    Request #1753775896185: Attempting GET request Try #1 to Node 0
    Request #1753775896185: Request to Node 0 failed due to "undefined Expected ',' or '}' after property value in JSON at position 109 (line 1 column 110)"
    Request #1753775896185: Sleeping for 0.1s and then retrying request...
    Request #1753775896185: Nodes Health: Node 0 is Unhealthy
    Request #1753775896185: No healthy nodes were found. Returning the next node, Node 0
    Request #1753775896185: Attempting GET request Try #2 to Node 0
    Request #1753775896185: Request to Node 0 failed due to "undefined Expected ',' or '}' after property value in JSON at position 109 (line 1 column 110)"
    Request #1753775896185: Sleeping for 0.1s and then retrying request...
    Request #1753775896185: No retries left. Raising last error
    ❓ Questions 1. Is the issue related to JSON serialization within the client? 2. Any advice for resolving this while keeping the same filter logic? Thanks for your help!
    a
    • 2
    • 3
  • s

    steffen

    07/29/2025, 9:01 AM
    A quick question about Scoped Search Keys: We have the requirement for some collections being available in their entirety to all users. So we are generating a general Search Key creating a scoped search key (used for expiration right now only). Now, there is a need that an additional collection is added. For that one collection (and only that), we need to restrict access to certain documents only. This should be done through a field
    userId
    and a scoped key with that filter. If we understood the concepts correctly, there is no option to create just one key fulfilling that requirement. Simply since not all collections would have the
    userId
    field (those which are available to all users) and the search on these with that generated scoped key would just yield 0. So are we indeed required to deal with multiple scoped key per user and decide which one to use based on the query? How do we tackle that best?
    k
    • 2
    • 3
  • s

    Shiva Dixith

    07/29/2025, 11:09 AM
    Hi all For Typesense update to v29, the arm64 link here goes to 404 https://typesense.org/docs/guide/updating-typesense.html#updating-rpm-package
    a
    • 2
    • 1
  • g

    Greg Bougeard

    07/29/2025, 12:30 PM
    Is it possible to have
    highlights
    in response of a Natural Language Query?
    a
    f
    j
    • 4
    • 5
  • j

    Julian

    07/30/2025, 8:21 AM
    Question for the Facet Pros among you: Is it possible to somehow define a nested property of a field with type
    object[]
    as facet? My data looks like the following (example):
    Copy code
    "nutritionalValues": [
      {
        "field": "dietaryFiber",
        "perPortion": 4.43,
        "unit": "g"
      },
      {
        "field": "protein",
        "perPortion": 10.65,
        "unit": "g"
      },
      {
        "field": "energyCal",
        "perPortion": 366,
        "unit": "kcal"
      },
      ...
    ]
    Now I want to range-facet e.g. by
    energyCal
    . My plan b is to extract the relevant property from the array and make it a top-level field. But this would mess up my data model a bit so I am looking for another way to achieve this.
    k
    • 2
    • 7
  • g

    Greg Bougeard

    07/30/2025, 11:26 AM
    I have another question about Natural Language Query: Did you benchmark different models? I currently have 98% of the search time spent in parse time (for example it can be 5862ms of parse time and 5876 of search time) . Is there a model faster than others?
    • 1
    • 1
  • k

    Koushik Sarkar

    07/30/2025, 1:13 PM
    it looks like typsesense is overloaded after a restart. Trying to load many collections continuously. I would like to clean all and need to plan a fresh collection. Can I simply delete default database location and restart typesense ? DELETE (any other) API not working for hours. replying with "{ "message": "Not Ready or Lagging"}". Hence a clean and fresh start would be helpful as previous collections are not useful anymore for me.
    f
    a
    • 3
    • 5
  • d

    Dawood Alkawaz

    07/31/2025, 8:30 AM
    Hello guys, I hope you all are doing well. I am trying Typesense v29.0, and I created a collection schema with a field:
    Copy code
    {
      "name": "tags",
      "type": "string[]",
      "index": true,
      "stem": true,
      "infix": true
    }
    Then I inserted a document with the following tags:
    Copy code
    "tags": [..., "yellowstone", ...]
    Now I am trying to search like this:
    Copy code
    GET /documents/search?q=stone&query_by=tags&infix=always
    However, this document is not showing up. Any ideas that can help? And thank you in advance!
    f
    • 2
    • 2
  • n

    Nikola Stojisavljević

    07/31/2025, 8:50 AM
    Hello. I've found an issue regarding your PHP client. We're using PHP 7.4 and Typesense v28. To use Typesense v28 with PHP, the advised package is >v5.0. Thing is, the package requires PHP 7.4, but uses union types which are introduced in PHP 8.0. I'm getting an error straight away when after the upgrade.
    f
    j
    • 3
    • 4
  • g

    Gabriel Delattre

    07/31/2025, 10:02 AM
    Hello, Still very happy with what typesense offered so far. Thank you again ! We are trying to improve the
    UX
    of the search and we have for goal to make sure our facet count are super clear what ever the user is doing. I was reading through the documentation and found out about https://typesense.org/docs/guide/faqs.html#why-do-i-sometimes-get-more-results-when-adding-filters and the
    max_candidates
    param. I'm a bit worried of what could happen. I want to make sure that if a query is type, let say
    q=lawyer
    and in my
    job_department
    facet I've got 9545 count for the
    law
    facet, this count will stay the same. I see you suggest
    max_candidates=100
    but it feels really low and I'm not sure I proerly understand the issue and the consequences. I dully noted that we talk about perf. Thanks !
    n
    • 2
    • 1
  • i

    Ian Lockwood

    07/31/2025, 10:27 AM
    Hi, we're using TS Cloud on a WooCommerce site and I'd like to apply a custom sort order to specific categories. I have created an Override applying Sort Documents as follows:
    _eval([ (product_brands_attribute_filter:Climadoor):3, (product_brands_attribute_filter:LPD):2, (product_brands_attribute_filter:DEANTA):1 ]):desc, price:asc
    This works fine in that the sort order has all products from the first brand in ascending price order, then same for the second brand etc. However, it is applied universally to all category pages and search results. I just want it applied to a specific category (or possibly several). I have tried using Curate by Filter set to match a category (e.g. category:Architrave), but that has no effect. To note, the way the website works is that category page listings are driven by TS results, i.e. they are "search results" but without a user actually searching. This is done with a third-party plugin and I don't know how it queries TS to generate the category page listings, but obviously category is an attribute in the product data. Can someone please help me set an override that will only apply when a particular category is viewed on the site?
    a
    • 2
    • 1
  • n

    Nikola Stojisavljević

    07/31/2025, 2:14 PM
    Could someone tell me how to check if something is an empty string via filter_by? Let's say: "filter_by": "category_id=1&amp;&amp;ai category suggestion=''" I don't want records like this taken into account:
  • s

    Shawn Tan

    07/31/2025, 5:34 PM
    Hey all! Just wanted to share a bug I'm facing and wondering if it was a known issue or I'm doing something wrong. I have 2 aliased collections and am trying to filter using a join. However, I get the error
    Copy code
    "Failed to join on `collection_2_alias`: No reference field found`
    I've confirmed that re-creating the exact same collections without aliases leads to the queries behaving as expected. This only happens with aliases.
    a
    • 2
    • 10
  • z

    Zhen Jun

    08/01/2025, 8:01 AM
    Hi team, I saw that the Pull Request #2409 is merged, so I pull the v30.0.rc4 to try out faceting by reference function. However, it seems like it's not working. The facet for the reference field is not returned at all, and even the fields after the reference fields are not returned. For example, when I do this:
    Copy code
    {
      "searches": [
        {
          "collection": "leads",
          "facet_by": "status, $lead-contact-linkages($wa-bot-contacts(sequence_ids)), owner",
          "q": "*"
        }
      ]
    }
    Only the facet for
    status
    is returned.
    k
    h
    • 3
    • 15
  • j

    John Sokol

    08/01/2025, 3:53 PM
    Has anyone experienced issues with stagnant queued_writes in the logs? Running v29.0. It looks like Github issues references this running v28: https://github.com/typesense/typesense/issues/2137 Here's a snippet of the Typesense logs: local_seque>I20250801 154924.933434 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901806, committed: 901806, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 154934.944048 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901806, committed: 901806, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 154934.948913 141604 batched_indexer.cpp:432] Running GC for aborted requests, req map size: 1635, reference_q.size: 0 I20250801 154934.949000 141604 batched_indexer.cpp:441] Stuck req_key: 1754061198117081 I20250801 154934.949047 141604 batched_indexer.cpp:441] Stuck req_key: 1754061198570264 I20250801 154934.949066 141604 batched_indexer.cpp:441] Stuck req_key: 1754061199544989 I20250801 154934.949082 141604 batched_indexer.cpp:441] Stuck req_key: 1754061199628833 I20250801 154934.949098 141604 batched_indexer.cpp:441] Stuck req_key: 1754061200190672 I20250801 154944.952227 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901806, committed: 901806, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 154954.960420 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901806, committed: 901806, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 155004.970813 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901806, committed: 901806, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 155014.978948 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901806, committed: 901806, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 155024.987066 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901806, committed: 901806, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 155034.997298 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901807, committed: 901807, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 155035.957325 141604 batched_indexer.cpp:432] Running GC for aborted requests, req map size: 1635, reference_q.size: 0 I20250801 155045.005424 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901807, committed: 901807, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 155055.013594 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901807, committed: 901807, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 155105.023916 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901807, committed: 901807, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 155115.032006 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901807, committed: 901807, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731, local_seque>I20250801 155125.040295 141603 raft_server.cpp:692] Term: 17, pending_queue: 0, last_index: 901807, committed: 901807, known_applied: 901745, applying: 0, pending_writes: 0, queued_writes: 2731 Here's my typesense.ini configuration: log-dir = /var/log/typesense enable-cors = True healthy-write-lag = 50000 healthy-read-lag = 50000 snapshot-interval-seconds = 1800 peering-address = '' peering-port = '' nodes=/etc/typesense/nodes num-documents-parallel-load = 20000 db-compaction-interval = 3600 max-group-limit = 250 db-write-buffer-size = 256 db-max-write-buffer-number = 10 max-indexing-concurrency = 20 db-max-log-file-size = 1024 db-keep-log-file-num = 20 num-collections-parallel-load = 5 memory-used-max-percentage = 90
    k
    • 2
    • 3
  • m

    Mateo Salazar

    08/01/2025, 4:55 PM
    Hey all! Do you guys know if there is any way as an admin user in cloud typesense to enforce MFA for all the users having access to it?
    j
    • 2
    • 1
  • t

    Todd Tarsi

    08/01/2025, 7:04 PM
    Hey all, I had a small question. When exporting as a stream, is the order of documents deterministic? From the documentation, it looks like it’s in ascending order by id, which is perfect. I just want to double check, thank you! Oh, further, if there is or isn’t some level of determinism, is there any way to detect when an abort is occurring, in my case when a lambda times out, and to resume from there next time?
    k
    • 2
    • 10
  • y

    Yash Joshi

    08/01/2025, 8:14 PM
    Hey team, We recently upgraded our
    typesense-instantsearch-adapter
    version from
    2.8.0
    to
    2.10.0-1
    in order to enable NLP search, but with just the package version upgrade and no config and code change we are seeing alot of requests getting fired and spaming the server and timing out after
    5s
    ( default time I guess ). Any idea what could be causing this and do we have any fix for the same ?
    j
    • 2
    • 2
  • t

    Thulasiram

    08/02/2025, 6:28 PM
    Hey Team, Is there a way/cookbook that ties a NL search with a semantic search? Is it possible with a single call to typesense or we need to stitch the NL response to a semantic search Use case is around the lines of
    hotels in cityx with a spa
    where NL translates that into >hotel, city and amenity filters. Semantic search can search for
    spa/jacuzzi/sauna