allowTyposOnNumericTokens parameter controls whether Algolia applies typo tolerance to numbers.
Allowing typos can broaden results but may lead to irrelevant matches.
Turning typo tolerance off on numbers helps enforce precision, especially for data like:
- Postal or product codes
- Identifiers
- Phone numbers
Examples
Turn off typos on numbers by default
Current API clients
Current API clients
var response = await client.SetSettingsAsync(
"INDEX_NAME",
new IndexSettings { AllowTyposOnNumericTokens = false }
);
final response = await client.setSettings(
indexName: "INDEX_NAME",
indexSettings: IndexSettings(
allowTyposOnNumericTokens: false,
),
);
response, err := client.SetSettings(client.NewApiSetSettingsRequest(
"INDEX_NAME",
search.NewEmptyIndexSettings().SetAllowTyposOnNumericTokens(false)))
if err != nil {
// handle the eventual error
panic(err)
}
UpdatedAtResponse response = client.setSettings("INDEX_NAME", new IndexSettings().setAllowTyposOnNumericTokens(false));
const response = await client.setSettings({
indexName: 'theIndexName',
indexSettings: { allowTyposOnNumericTokens: false },
});
var response =
client.setSettings(
indexName = "INDEX_NAME",
indexSettings = IndexSettings(allowTyposOnNumericTokens = false),
)
$response = $client->setSettings(
'INDEX_NAME',
['allowTyposOnNumericTokens' => false,
],
);
response = client.set_settings(
index_name="INDEX_NAME",
index_settings={
"allowTyposOnNumericTokens": False,
},
)
response = client.set_settings(
"INDEX_NAME",
Algolia::Search::IndexSettings.new(allow_typos_on_numeric_tokens: false)
)
val response = Await.result(
client.setSettings(
indexName = "INDEX_NAME",
indexSettings = IndexSettings(
allowTyposOnNumericTokens = Some(false)
)
),
Duration(100, "sec")
)
let response = try await client.setSettings(
indexName: "INDEX_NAME",
indexSettings: IndexSettings(allowTyposOnNumericTokens: false)
)
Legacy API clients
Legacy API clients
IndexSettings settings = new IndexSettings();
settings.AllowTyposOnNumericTokens = false;
index.SetSettings(settings);
res, err := index.SetSettings(search.Settings{
AllowTyposOnNumericTokens: opt.AllowTyposOnNumericTokens(false),
})
index.setSettings(
new IndexSettings()
.setAllowTyposOnNumericTokens(false)
);
index
.setSettings({
allowTyposOnNumericTokens: false,
})
.then(() => {
// done
});
val settings = settings {
allowTyposOnNumericTokens = false
}
index.setSettings(settings)
$index->setSettings([
'allowTyposOnNumericTokens' => false
]);
index.set_settings({"allowTyposOnNumericTokens": False})
index.set_settings(
{
allowTyposOnNumericTokens: false
}
)
client.execute {
setSettings of "myIndex" `with` IndexSettings(
allowTyposOnNumericTokens = Some(false)
)
}
let settings = Settings()
.set(\.allowTyposOnNumericTokens, to: false)
index.setSettings(settings) { result in
if case .success(let response) = result {
print("Response: \(response)")
}
}
Turn off typos on numbers for the current search
Current API clients
Current API clients
var response = await client.SearchSingleIndexAsync<Hit>(
"INDEX_NAME",
new SearchParams(
new SearchParamsObject { Query = "query", AllowTyposOnNumericTokens = false }
)
);
final response = await client.searchSingleIndex(
indexName: "INDEX_NAME",
searchParams: SearchParamsObject(
query: "query",
allowTyposOnNumericTokens: false,
),
);
response, err := client.SearchSingleIndex(client.NewApiSearchSingleIndexRequest(
"INDEX_NAME").WithSearchParams(search.SearchParamsObjectAsSearchParams(
search.NewEmptySearchParamsObject().SetQuery("query").SetAllowTyposOnNumericTokens(false))))
if err != nil {
// handle the eventual error
panic(err)
}
SearchResponse response = client.searchSingleIndex(
"INDEX_NAME",
new SearchParamsObject().setQuery("query").setAllowTyposOnNumericTokens(false),
Hit.class
);
const response = await client.searchSingleIndex({
indexName: 'indexName',
searchParams: { query: 'query', allowTyposOnNumericTokens: false },
});
var response =
client.searchSingleIndex(
indexName = "INDEX_NAME",
searchParams = SearchParamsObject(query = "query", allowTyposOnNumericTokens = false),
)
$response = $client->searchSingleIndex(
'INDEX_NAME',
['query' => 'query',
'allowTyposOnNumericTokens' => false,
],
);
response = client.search_single_index(
index_name="INDEX_NAME",
search_params={
"query": "query",
"allowTyposOnNumericTokens": False,
},
)
response = client.search_single_index(
"INDEX_NAME",
Algolia::Search::SearchParamsObject.new(query: "query", allow_typos_on_numeric_tokens: false)
)
val response = Await.result(
client.searchSingleIndex(
indexName = "INDEX_NAME",
searchParams = Some(
SearchParamsObject(
query = Some("query"),
allowTyposOnNumericTokens = Some(false)
)
)
),
Duration(100, "sec")
)
let response: SearchResponse<Hit> = try await client.searchSingleIndex(
indexName: "INDEX_NAME",
searchParams: SearchSearchParams.searchSearchParamsObject(SearchSearchParamsObject(
query: "query",
allowTyposOnNumericTokens: false
))
)
Legacy API clients
Legacy API clients
index.Search(new Query("query")
{
AllowTyposOnNumericTokens = false
});
res, err := index.Search(
"query",
opt.AllowTyposOnNumericTokens(false),
)
index.search(
new Query("")
.setAllowTyposOnNumericTokens(false)
);
index
.search("query", {
allowTyposOnNumericTokens: false,
})
.then(({ hits }) => {
console.log(hits);
});
val query = query("query") {
allowTyposOnNumericTokens = false
}
index.search(query)
$results = $index->search('query', [
'allowTyposOnNumericTokens' => false
]);
results = index.search("query", {"allowTyposOnNumericTokens": False})
results = index.search(
"query",
{
allowTyposOnNumericTokens: false
}
)
client.execute {
search into "myIndex" query Query(
query = Some("query"),
allowTyposOnNumericTokens = Some(false)
)
}
let query = Query("query")
.set(\.allowTyposOnNumericTokens, to: false)
index.search(query: query) { result in
if case .success(let response) = result {
print("Response: \(response)")
}
}