Reference
Meilisearch index settings: the ones that actually matter
Meilisearch exposes 13 settings per index. Most teams only need to touch four of them: searchableAttributes, filterableAttributes, rankingRules, and synonyms. Everything else has sensible defaults that work out of the box.
The 30-second answer
searchableAttributes— which fields are searchable, and in what priority order. Almost always worth setting explicitly.filterableAttributes— which fields can be filtered or used as facets. Required if you want a filter UI.rankingRules— the relevance pipeline. Default works for ~80% of cases; reorder for the other 20%.synonyms— word equivalence. Almost every search benefits from at least a few entries.
The four that matter
1. searchableAttributes
Default: ["*"] — every field is searchable, all weighted equally. This is rarely what you want.
Set it explicitly to put your most important fields first:
PATCH /indexes/products/settings/searchable-attributes
[
"title",
"brand",
"description",
"tags"
]
Documents matching in title rank above documents matching only in description (because of the attribute ranking rule). For e-commerce, this is usually the difference between "this works" and "this is unusable".
2. filterableAttributes
Default: [] — nothing is filterable. You must opt in.
PATCH /indexes/products/settings/filterable-attributes
[
"category",
"brand",
"price",
"in_stock"
]
Required for any filter UI or facet count. See our facets and filters guide for the full story.
3. rankingRules
Default: ["words", "typo", "proximity", "attribute", "sort", "exactness"]. Reorder when you have a specific relevance priority that the default doesn't capture (recency for news, distance for geo, price for e-commerce). See our ranking rules guide.
4. synonyms
Default: {} — no synonyms. Almost every search benefits from at least a few entries (brand variations, abbreviations, plurals). See our synonyms and stop words guide.
The nine you can usually leave alone
5. sortableAttributes
Default: []. Set it if you want to sort by a numeric attribute at query time (price, date, rating). Required for the sort ranking rule and the per-query sort parameter to work.
6. stopWords
Default: []. Add common filler words ("the", "and", "of") if they're hurting relevance for your content. Often optional. See the synonyms and stop words guide.
7. distinctAttribute
Default: null. Set this if you have duplicate-content documents (e.g. multiple variants of the same product) and you want to deduplicate by a specific field at query time. Most teams don't need it.
8. typoTolerance
Default: { enabled: true, minWordSizeForTypos: { oneTypo: 5, twoTypos: 9 } }. The defaults are tuned for English. Adjust for shorter-word languages or to disable on specific attributes (SKUs, IDs, codes). See the typo tolerance guide.
9. faceting
Default: { maxValuesPerFacet: 100 }. Cap on how many distinct values are returned per facet. Increase if you have an attribute with thousands of legitimate distinct values.
10. pagination
Default: { maxTotalHits: 1000 }. Cap on the total number of hits Meilisearch will return for a query. Raising this is rarely useful — users don't paginate past page 5 in practice.
11. searchCutoffMs
Default: null (no cutoff). Set a cutoff in milliseconds if you want Meilisearch to return partial results when a query is taking too long. Trades completeness for predictable latency. Useful for high-traffic production search.
12. proximityPrecision
Default: "byWord". Controls the granularity of the proximity ranking rule. Switching to "byAttribute" trades precision for indexing speed and disk space. Most teams should leave this alone.
13. localizedAttributes
Default: null. Enables per-language tokenization for attributes containing non-Latin script. Set this for multilingual content; leave it alone for single-language sites.
The recommended starter config
For 90% of e-commerce / SaaS / content sites, this is enough:
PATCH /indexes/products/settings
{
"searchableAttributes": ["title", "brand", "description"],
"filterableAttributes": ["category", "brand", "price", "in_stock"],
"sortableAttributes": ["price", "rating", "created_at"],
"synonyms": {
"tv": ["television"],
"iphone": ["apple phone"]
}
}
Everything else stays at defaults. Fine-tune rankingRules and typoTolerance only when you can point at a specific business goal that the defaults don't meet.
Settings that trigger reindexing
Most settings changes trigger a full reindex. The big ones:
searchableAttributesfilterableAttributessortableAttributesdistinctAttributestopWordstypoToleranceproximityPrecision
Reindexing takes seconds on small indexes and minutes on large ones. You'll see the work in the task viewer. Plan settings changes with this in mind.
FAQ
How do I see all my current settings?
GET /indexes/{uid}/settings returns the full settings object. Meilisearch returns the resolved values, including defaults.
How do I reset a setting to its default?
Send null for the field in a PATCH, or DELETE the per-setting endpoint (e.g. DELETE /indexes/{uid}/settings/synonyms).
Can I copy settings from one index to another?
Yes — GET the settings from the source, then PATCH them to the destination. Both endpoints accept the same JSON shape.
Is there a UI for editing all 13 settings?
Yes — AdminDex's settings editor has every setting in one accordion-based UI with inline help drawers explaining what each one does. No JSON editing required for any of them.
Stop running Meilisearch from a terminal.
AdminDex gives you a visual dashboard for every Meilisearch instance you own — settings, API keys, tasks, and search analytics.
Related reading
-
Tuning Meilisearch ranking rules: a visual walkthrough
How Meilisearch's ranking rules work, what each of the six default rules does, and how to reorder them for your specific search use case.
-
Meilisearch synonyms and stop words: when to use each
Synonyms and stop words solve overlapping problems in Meilisearch. Here's when each one is the right tool, with examples for e-commerce and documentation search.
-
Meilisearch facets and filters: a complete guide
Faceted search and filterable attributes in Meilisearch — what's the difference, how to configure them, and how to build a fast filter UI on top.
Spotted an inaccuracy? Email the AdminDex team →