keyword_search
Search Obsidian notes for exact keywords or phrases with full-text PostgreSQL matching, filtered by folder, tags, or frontmatter.
Instructions
Full-text keyword search via PostgreSQL tsvector. Use this for exact identifiers, code symbols, proper nouns, or known phrases — anywhere semantic noise hurts.
For conceptual or paraphrased queries, use semantic_search instead.
Args: query: Keywords or phrase to match (websearch tsquery syntax: "foo bar", "foo OR bar", "-bar"). folder: Optional folder prefix (e.g. "Cards/", "Projects/"). limit: Maximum number of results (default 20). tags: Optional list of tag names; only notes carrying ALL listed tags match (e.g. ["project", "active"]). frontmatter: Optional dict of frontmatter key/value pairs; only notes whose JSONB frontmatter contains every pair match. Strict type matching — string "0" does not match integer 0 (e.g. {"status": "draft"}).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| folder | No | ||
| limit | No | ||
| tags | No | ||
| frontmatter | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |