Index-time vs query-time settings
Which settings need a rebuild, and which apply to the next query.
An index has two kinds of settings, and the difference is what it costs to change one.
Index-time settings
These decide how content is turned into searchable tokens. Changing one means suo has to re-tokenize every record, so it builds the new index alongside the old one and swaps them atomically when it is ready — your search keeps working on the old settings until the swap.
| Setting | Controls |
|---|---|
searchableTiers | Which attributes are searchable, grouped into tiers by importance, each with its own typo tolerance |
attributesForFaceting | Which attributes can be used as facets or filters |
languages | The languages suo tokenizes for (affects plural folding and stopwords) |
dictionary | Custom terms — product names, brand words — protected from CJK segmentation |
partitionKey | The attribute that splits the index into partitions (set once, before writing) |
Query-time settings
These apply to every query from the moment they are saved — no rebuild, because they only change how the same tokenized data is ranked or filtered.
| Setting | Controls |
|---|---|
customRanking | A tie-breaking sort by attribute, applied after the ranking cascade |
synonyms | Two-way and one-way term equivalences |
pins / hides | Force a record to a fixed position, or remove it, for a specific query |
typoTolerance | Whether typo correction runs at all |
ignorePlurals | Whether cat and cats are treated as the same token |
removeWordsIfNoResults | Whether trailing words are dropped from an empty query to find a broader match |
distinctAttribute | Which attribute deduplicates hits (usually url, so a page's sections do not all appear) |
queryLogging | Whether this index's queries are recorded for analytics |
Setting them
PUT /1/indexes/docs/settings
{
"queryTime": {
"synonyms": [{ "id": "s1", "kind": "two-way", "terms": ["signup", "sign up"] }]
}
}You can send indexTime, queryTime, or both in one call. See Settings for the full shape and defaults.
Rule of thumb
If changing it should be instant and reversible from the dashboard's Relevance tab — a synonym, a pin, a ranking weight — it is query-time. If it changes what a record's tokens even are, it is index-time.