What does a collection need before people can search it?
A collection groups records with a schema, a description of the fields and their types. A catalog can have a text title and a numeric price. Import the records with stable IDs and choose the fields search should match. The search index lives in memory, with a copy of raw data on disk.
How do you keep private results in the correct account?
After your server checks account membership, give the browser a short-lived scoped search key. It carries a filter Typesense enforces. Keep the parent search-only key, unrestricted keys for private data and admin and write keys on the server. The parent should have only search permission for the intended collection.
If you pin results or use curation for a private collection, also configure the scoped key to apply filtering to those curated hits. A regular scoped filter does not do that by default. If the search joins records from another collection, review the fields returned from that collection too.
What if a bulk update reports success but a result is missing?
Typesense returns an outcome for each line of a bulk import. The request can return successfully even if individual records fail. Check every line, fix invalid fields and resend only what needs it. Delete by the record ID when the source record is removed and verify the old result disappears.
How can you check a private collection locally?
Use a local Typesense instance bound to this computer, an empty disposable data folder and a throwaway app. Verify the actual search and write addresses, collection, keys and account source all belong to that setup. Use fake records and stay off hosted and production systems. If you cannot confirm the routes, write the allowed and missing results on paper.
- Prepare two matching recordsPut a Birch quote into the test collection for each of two fake accounts. Give them different titles and check the import response says both succeeded.
- Compare the real responsesIn separate browser profiles, sign in as each fake account and check that the browser has only its scoped key. Search for Birch. Each response should contain one quote and omit the other account’s. If your app uses pinned results, run the same check with a fictional pin and confirm the other quote stays out.
- Verify removalDelete one sample using its ID in the local index. Check again as both accounts. One now sees no Birch quote and the other still sees its own.
How do hosting and backups affect what you pay?
Typesense Cloud charges for the cluster by the hour and for bandwidth. The vendor offers a one-time allowance of 720 hours and 10 GB on select configurations, without a monthly reset. Optional backups and extra disk can add cost. If you run the GPL-licensed server yourself, budget for its memory, disk, updates and recovery.
Export documents as JSONL, which puts one record on each line. Keep the collection schema and search settings separately. A self-hosted cluster snapshot is another way to preserve the data directory for backup. Test restoration with a separate data directory.