upstash-search-js
This skill covers Upstash Search fundamentals for TypeScript and JavaScript developers. It walks through SDK installation, creating indexes, upserting documents, and executing searches with optional filtering and reranking. Use it to understand core concepts like content versus metadata and to implement end-to-end search workflows.
upstash-search-js teaches you to set up Upstash Search and perform indexing and search queries using the TypeScript SDK.
AI-generated summary based on this skill's SKILL.md
Decision gist · record as of 2026-07-14
upstash-search-js teaches you to set up Upstash Search and perform indexing and search queries using the TypeScript SDK. This skill covers Upstash Search fundamentals for TypeScript and JavaScript developers. It walks through SDK installation, creating indexes, upserting documents, and executing searches with optional filtering and reranking. Use it to understand core concepts like content versus metadata and to implement end-to-end search workflows.
Use it when
- upstash-search-js uses the upsert operation to add or update documents.
- In upstash-search-js, content is the full-text searchable body of a document—keywords are extracted and indexed here.
Verify before relying
Read SKILL.md below before installing (3 files). Open directory: indexed for reading, not audited.
Install
upstash/skills/upstash-search-js · repository language: JavaScript
Open directory. Skills are indexed for reading, not audited. Review a skill's body before installing it.
Frequently asked questions
AI-generated answers based on this skill's SKILL.md and metadata
How do I use Upstash Search with JavaScript?
upstash-search-js is a TypeScript/JavaScript SDK for Upstash Search. Install it via npm, initialize a client with your index URL and token, then upsert documents and execute searches. The SDK handles REST API calls under the hood, letting you focus on indexing and querying workflows without manual HTTP setup.
How do I index documents in Upstash Search?
upstash-search-js uses the upsert operation to add or update documents. Pass an array of objects with id, content (full-text searchable), and metadata (filterable fields) to the upsert method. Content is indexed for keyword matching; metadata enables filtering and range queries on structured fields without affecting search relevance.
What's the difference between metadata and content in upstash-search-js?
In upstash-search-js, content is the full-text searchable body of a document—keywords are extracted and indexed here. Metadata holds structured, filterable attributes like category, price, or date that you can query with filters and range conditions, but metadata is not used for keyword matching in the search itself.
How do I set up the upstash-search-js client in TypeScript?
upstash-search-js requires your index URL and API token from the Upstash console. Import the Index class, instantiate it with these credentials, and you're ready to call methods like upsert, search, fetch, and delete. The SDK is fully typed, so TypeScript will guide you through available operations and parameters.
Can upstash-search-js filter and rerank search results?
Yes. upstash-search-js supports filtering via metadata predicates (e.g., category = 'tech') and range queries on numeric or date fields. Reranking lets you boost or adjust result order based on custom logic. Combine these features in a single search call to refine results by relevance, filters, and custom ranking rules.
What are common pitfalls and best practices for upstash-search-js?
upstash-search-js works best when you keep content focused on searchable text and metadata for filtering. Avoid storing large unstructured data in metadata; use fetch-by-id for full documents instead. Batch upserts when possible, validate index creation before use, and test filter predicates early to catch schema mismatches.
SKILL.md
Rendered from the published skill. Quoted content, verbatim.
Upstash Search Documentation
Quick Start
Install the TS SDK:
npm install @upstash/search
Create a client and perform a simple upsert + search:
import { Search } from "@upstash/search";
const client = new Search({ url: process.env.UPSTASH_SEARCH_REST_URL, token: process.env.UPSTASH_SEARCH_REST_TOKEN });
const index = client.index("my-index");
await index.upsert({ id: "1", content: { text: "hello world" } });
const results = await index.search({ query: "hello" });
Basic steps: - Create an index - Insert or update documents - Run searches or filtered queries
Other Skill Files
sdk-overview
Provides detailed documentation for all TypeScript SDK commands. Includes: - delete: Deleting documents - fetch: Retrieving a document - info: Index info - range: Range queries - reset: Clearing an index - search: Search queries - upsert: Adding/updating documents - getting-started: Setup steps for the SDK
quick-start
Provides a
(truncated - see the full file via the links below)
File tree — 3 files
skills/upstash-search-js/SKILL.md
skills/upstash-search-js/quick-start.md
skills/upstash-search-js/sdk-overview.md
Let your AI agent find skills like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 56,283 agent skills by what they can do, searchable in plain language.
wish › “Learn how to set up and use Upstash Search with TypeScript/JavaScript”
Give your agent the search over MCP, or paste the wish link into any chat. No install? Search from any chat →
Related skills
Upstash Vector is a high-performance vector database for storing and querying vector embeddings. This skill covers the TypeScript/JavaScript SDK, including core operations like upserting vectors, querying, and managing namespaces, plus advanced features like filtering, metadata handling, and index structures.
Access unified documentation and guidance for all Upstash SDKs including Redis, QStash, Vector, Search, Workflow, and Box. Choose the relevant sub-skill for your language and use case, whether you're caching, scheduling messages, building vector applications, or orchestrating serverless workflows.
Build vector search capabilities using Upstash's serverless database with automatic embedding and semantic matching. This skill covers index creation, document upserting, namespace isolation for multi-tenant apps, and query operations—all optimized for Vercel deployment. Includes patterns for RAG pipelines and batch indexing with MixBread AI as the recommended embedding provider.
This skill guides you through implementing rate limiting with Upstash's Redis-backed TypeScript/JavaScript SDK. Learn to install the SDK, connect to Redis, create a rate limiter, and apply it to incoming requests using sliding window or other algorithms.
Build reliable serverless workflows with Upstash Workflow SDK for TypeScript/JavaScript. Define workflow endpoints, execute steps sequentially, and trigger runs from your backend using the Workflow client. Includes patterns for retries, webhooks, cross-workflow invocation, and local development.
Vectorize is a vector database that runs at the edge, letting you store high-dimensional embeddings and perform similarity queries for RAG pipelines, semantic search, and recommendation systems. Create indexes with preset dimensions or custom configurations, then insert, upsert, query, and delete vectors through a simple API. Integrates seamlessly with Workers AI for generating embeddings.