Full-Text Search
Search across collections with relevance ranking, highlights, suggestions, and similar-document lookup. Indexes are managed per collection — define searchable fields in your schema or rebuild via the API.
SDK
const results = await db.search.search("alice", {
collections: ["users"],
limit: 10,
fuzzy: true,
});
const suggestions = await db.search.suggest("ali");
const similar = await db.search.findSimilar("users", "doc-id");
const status = await db.search.getIndexStatus(["users"]);REST API
# Search
curl -X POST https://api.paperdb.app/search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"hello","collections":["posts"],"limit":20}'
# Suggestions
curl -X POST https://api.paperdb.app/search/suggest \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"query":"hel","limit":5}'
# Rebuild index (secret key)
curl -X POST https://api.paperdb.app/search/index/users/rebuild \
-H "Authorization: Bearer YOUR_SECRET_KEY"Mark fields searchable in your schema with field("title").searchable() or collection(...).searchable(["title", "content"]). Without explicit fields, PaperDB searches common names like title, content, and email.