minWordSizefor2Typos parameter sets the minimum length a query word must have before Algolia allows two typos in that word.
Query words shorter than this setting can only have up to one typo.
Lowering this setting can lead to more matches,
but might include more irrelevant results for short queries.
To learn more, see Configure typo tolerance word size.
Examples
Set the default minimum character count to allow two typos
Current API clients
Current API clients
var response = await client.SetSettingsAsync(
"INDEX_NAME",
new IndexSettings { MinWordSizefor2Typos = 4 }
);
final response = await client.setSettings(
indexName: "INDEX_NAME",
indexSettings: IndexSettings(
minWordSizefor2Typos: 4,
),
);
response, err := client.SetSettings(client.NewApiSetSettingsRequest(
"INDEX_NAME",
search.NewEmptyIndexSettings().SetMinWordSizefor2Typos(4)))
if err != nil {
// handle the eventual error
panic(err)
}
UpdatedAtResponse response = client.setSettings("INDEX_NAME", new IndexSettings().setMinWordSizefor2Typos(4));
const response = await client.setSettings({ indexName: 'theIndexName', indexSettings: { minWordSizefor2Typos: 4 } });
var response =
client.setSettings(
indexName = "INDEX_NAME",
indexSettings = IndexSettings(minWordSizefor2Typos = 4),
)
$response = $client->setSettings(
'INDEX_NAME',
['minWordSizefor2Typos' => 4,
],
);
response = client.set_settings(
index_name="INDEX_NAME",
index_settings={
"minWordSizefor2Typos": 4,
},
)
response = client.set_settings("INDEX_NAME", Algolia::Search::IndexSettings.new(min_word_sizefor2_typos: 4))
val response = Await.result(
client.setSettings(
indexName = "INDEX_NAME",
indexSettings = IndexSettings(
minWordSizefor2Typos = Some(4)
)
),
Duration(100, "sec")
)
let response = try await client.setSettings(
indexName: "INDEX_NAME",
indexSettings: IndexSettings(minWordSizefor2Typos: 4)
)
Legacy API clients
Legacy API clients
IndexSettings settings = new IndexSettings();
settings.MinWordSizefor2Typos = 4;
index.SetSettings(settings);
res, err := index.SetSettings(search.Settings{
MinWordSizefor2Typos: opt.MinWordSizefor2Typos(4),
})
index.setSettings(
new IndexSettings().setMinWordSizefor2Typos(4)
);
index
.setSettings({
minWordSizefor2Typos: 4,
})
.then(() => {
// done
});
val settings = settings {
minWordSizeFor2Typos = 4
}
index.setSettings(settings)
$index->setSettings([
'minWordSizefor2Typos' => 4
]);
index.set_settings({"minWordSizefor2Typos": 4})
index.set_settings(
{
minWordSizefor2Typos: 4
}
)
client.execute {
setSettings of "myIndex" `with` IndexSettings(
minWordSizefor2Typos = Some(4)
)
}
let settings = Settings()
.set(\.minWordSizeFor2Typos, to: 4)
index.setSettings(settings) { result in
if case .success(let response) = result {
print("Response: \(response)")
}
}
Override the default minimum character count to allow two typos for the current search
Current API clients
Current API clients
var response = await client.SearchSingleIndexAsync<Hit>(
"INDEX_NAME",
new SearchParams(new SearchParamsObject { Query = "query", MinWordSizefor2Typos = 2 })
);
final response = await client.searchSingleIndex(
indexName: "INDEX_NAME",
searchParams: SearchParamsObject(
query: "query",
minWordSizefor2Typos: 2,
),
);
response, err := client.SearchSingleIndex(client.NewApiSearchSingleIndexRequest(
"INDEX_NAME").WithSearchParams(search.SearchParamsObjectAsSearchParams(
search.NewEmptySearchParamsObject().SetQuery("query").SetMinWordSizefor2Typos(2))))
if err != nil {
// handle the eventual error
panic(err)
}
SearchResponse response = client.searchSingleIndex(
"INDEX_NAME",
new SearchParamsObject().setQuery("query").setMinWordSizefor2Typos(2),
Hit.class
);
const response = await client.searchSingleIndex({
indexName: 'indexName',
searchParams: { query: 'query', minWordSizefor2Typos: 2 },
});
var response =
client.searchSingleIndex(
indexName = "INDEX_NAME",
searchParams = SearchParamsObject(query = "query", minWordSizefor2Typos = 2),
)
$response = $client->searchSingleIndex(
'INDEX_NAME',
['query' => 'query',
'minWordSizefor2Typos' => 2,
],
);
response = client.search_single_index(
index_name="INDEX_NAME",
search_params={
"query": "query",
"minWordSizefor2Typos": 2,
},
)
response = client.search_single_index(
"INDEX_NAME",
Algolia::Search::SearchParamsObject.new(query: "query", min_word_sizefor2_typos: 2)
)
val response = Await.result(
client.searchSingleIndex(
indexName = "INDEX_NAME",
searchParams = Some(
SearchParamsObject(
query = Some("query"),
minWordSizefor2Typos = Some(2)
)
)
),
Duration(100, "sec")
)
let response: SearchResponse<Hit> = try await client.searchSingleIndex(
indexName: "INDEX_NAME",
searchParams: SearchSearchParams.searchSearchParamsObject(SearchSearchParamsObject(
query: "query",
minWordSizefor2Typos: 2
))
)
Legacy API clients
Legacy API clients
index.Search(new Query("query")
{
MinWordSizefor2Typos = 2
});
res, err := index.Search(
"query",
opt.MinWordSizefor2Typos(2),
)
index.search(
new Query("query").setMinWordSizefor2Typos(2)
);
index
.search("query", {
minWordSizefor2Typos: 2,
})
.then(({ hits }) => {
console.log(hits);
});
val query = query("query") {
minWordSizeFor2Typos = 2
}
index.search(query)
$results = $index->search('query', [
'minWordSizefor2Typos' => 2
]);
results = index.search("query", {"minWordSizefor2Typos": 2})
results = index.search(
"query",
{
minWordSizefor2Typos: 2
}
)
client.execute {
search into "myIndex" query Query(
query = Some("query"),
minWordSizefor2Typos = Some(2)
)
}
let query = Query("query")
.set(\.minWordSizeFor2Typos, to: 2)
index.search(query: query) { result in
if case .success(let response) = result {
print("Response: \(response)")
}
}