upstash-search-js

Implement Upstash Search indexing, querying, and filtering with the TypeScript SDK.

2|1|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/zester4/zilmate --skill upstash-search-js-zester4
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: upstash-search-js
Source: https://github.com/zester4/zilmate/tree/main/.agents/skills/upstash-search-js
Command: npx skills add https://github.com/zester4/zilmate --skill upstash-search-js-zester4

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @upstash/search.

What problem does it solve? Developers integrating Upstash Search often struggle with correct SDK usage, the distinction between searchable content and filterable metadata, and pitfalls like filter syntax or pagination cursors. This Skill provides accurate quick-start guidance and a complete SDK command reference. ## Core Features & Use Cases - Quick Start Workflow: Create a Search database, store credentials, upsert documents, and run hybrid semantic/keyword searches with optional reranking. - Full SDK Reference: Covers upsert, fetch, delete, search, range pagination, reset, and info commands with type-safe generics and common pitfalls. - Filtering & Reranking Guidance: Explains SQL-like and structured filters, the @metadata. prefix requirement, and when reranking is worth its cost. - Use Case: Build a product search feature where users query semantically ("wireless headphones") while filtering by category and metadata fields like supplier ID. ## Quick Start Ask the assistant to set up an Upstash Search client in TypeScript, upsert sample documents, and run a filtered search query.

Frequently Asked Questions about upstash-search-js

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I get started with Upstash Search in TypeScript?

Install @upstash/search, create a Search client with your REST URL and token, then call client.index(name) to upsert documents and run searches. Indexes are created automatically on the first upsert.

What is the difference between content and metadata in Upstash Search?

Content is required, indexed, and searchable, while metadata is optional, not searchable, but retrievable and filterable. Metadata fields must be referenced with the @metadata. prefix in filters.

How do I filter search results in Upstash Search?

Use SQL-like string filters such as category = 'classic' or structured type-safe filters in the TypeScript SDK with operators like equals, greaterThanOrEquals, glob, and contains. Both content and metadata fields can be filtered.

Does Upstash Search support pagination over documents?

Yes, the range command provides cursor-based pagination. Start with cursor "0" and pass the returned nextCursor on each call until it is empty; the API is stateless so all parameters must be resent.

Why is my Upstash Search upsert failing?

Upserts fail when the required content field is missing or the document structure does not match the index schema. When using TypeScript generics, content and metadata types are enforced at compile time.

When should I enable reranking in Upstash Search?

Enable reranking when precision is critical or queries are ambiguous and conceptual. It reorders results with a high-accuracy model but costs $1 per 1K reranked items, so it is disabled by default.