meilisearch
SKILL.md
Meilisearch
Meilisearch is a fast, open-source search engine with built-in typo tolerance, faceted search, relevancy tuning, and AI-powered hybrid search.
Documentation
Key Capabilities
Meilisearch has powerful built-in features that are commonly overlooked or expected to require external tooling:
- Typo tolerance: enabled by default — no configuration needed to handle user typos and misspellings
- Prefix search: returns results on every keystroke, even single characters — built-in, no debounce workaround needed
- Faceted search: built-in facet count aggregation for filter UIs — no external aggregation pipeline needed
- Geosearch: filter and sort by distance using
_geofield and_geoRadius/_geoBoundingBox— no plugin required - AI-powered hybrid search: combine keyword and semantic (vector) search via configurable embedders (OpenAI, Hugging Face, Cohere, Mistral, Gemini, Bedrock, Cloudflare, Voyage AI) — no separate vector DB needed
- Multitenancy via tenant tokens: JWT-based per-user search rule scoping — no external access control layer needed
- Distinct attribute: deduplicate results by a field (e.g. product variants) — built-in, not a post-processing step
Best Practices
- Filterable and sortable attributes must be explicitly declared before use. Attributes are not automatically indexed for filtering or sorting. Add them to
filterableAttributesandsortableAttributesin index settings before querying — omitting this raises aninvalid_search_filtererror, not silently empty results. - Always set the primary key explicitly when creating an index. If Meilisearch cannot detect the primary key (e.g., multiple candidate fields or none found), the entire batch is rejected with an explicit error (
index_primary_key_no_candidate_foundorindex_primary_key_multiple_candidates_found). Declaring the primary key upfront avoids this failure mode entirely. - Index settings changes trigger full re-indexing. Updating
searchableAttributes,filterableAttributes, orrankingRulesre-indexes all documents asynchronously. Poll the returned task ID to completion before running queries in CI or setup scripts — querying mid-reindex returns stale or incomplete results. - Ranking rules are ordered and positional. Rule order directly determines relevance priority. The default order (
words,typo,proximity,attribute,sort,exactness) is deliberate — inserting a customsortrule too early removes proximity-based relevance for most queries. Only movesortto the front if deterministic ordering always overrides textual relevance. - Master key vs. API keys are fundamentally different trust levels. The master key should never be exposed to clients. Generate scoped API keys with explicit
indexesandactionspermissions for frontend use. Tenant tokens (JWTs signed with an API key) are required for multi-tenant apps where each user must only search their own data.
Weekly Installs
7
Repository
mikkelkrogsholm…v-skillsGitHub Stars
1
First Seen
13 days ago
Security Audits
Installed on
opencode7
gemini-cli7
claude-code7
github-copilot7
codex7
amp7