curl --request PUT \
--url https://query-suggestions.us.algolia.com/1/configs/ALGOLIA_INDEX_NAME \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-algolia-api-key: ALGOLIA_API_KEY' \
--header 'x-algolia-application-id: ALGOLIA_APPLICATION_ID' \
--data '
{
"sourceIndices": [
{
"indexName": "products",
"replicas": false,
"analyticsTags": [
"lorem"
],
"facets": [
{
"attribute": "category",
"amount": 3
},
{
"attribute": "brand",
"amount": 2
}
],
"minHits": 5,
"minLetters": 4,
"generate": [
[
"color",
"brand"
]
],
"external": [
"lorem"
]
}
],
"languages": [
"lorem"
],
"exclude": [
"lorem"
],
"enablePersonalization": false,
"allowSpecialCharacters": false
}
'// Initialize the client
var client = new QuerySuggestionsClient(
new QuerySuggestionsConfig(
"ALGOLIA_APPLICATION_ID",
"ALGOLIA_API_KEY",
"ALGOLIA_APPLICATION_REGION"
)
);
// Call the API
var response = await client.UpdateConfigAsync(
"<YOUR_INDEX_NAME>",
new Configuration
{
SourceIndices = new List<SourceIndex>
{
new SourceIndex
{
IndexName = "<YOUR_INDEX_NAME>",
Facets = new List<Facet> { new Facet { Attribute = "test" } },
Generate = new List<List<string>>
{
new List<string> { "facetA", "facetB" },
new List<string> { "facetC" },
},
},
},
Languages = new Languages(new List<string> { "french" }),
Exclude = new List<string> { "test" },
}
);
// print the response
Console.WriteLine(response);// Initialize the client with your application region, eg. suggestions.ALGOLIA_APPLICATION_REGION
client, err := suggestions.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", suggestions.US)
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.UpdateConfig(client.NewApiUpdateConfigRequest(
"<YOUR_INDEX_NAME>",
suggestions.NewEmptyConfiguration().SetSourceIndices(
[]suggestions.SourceIndex{*suggestions.NewEmptySourceIndex().SetIndexName("<YOUR_INDEX_NAME>").SetFacets(
[]suggestions.Facet{*suggestions.NewEmptyFacet().SetAttribute("test")}).SetGenerate(
[][]string{
{"facetA", "facetB"},
{"facetC"},
})}).SetLanguages(suggestions.ArrayOfStringAsLanguages(
[]string{"french"})).SetExclude(
[]string{"test"})))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)// Initialize the client
QuerySuggestionsClient client = new QuerySuggestionsClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION");
// Call the API
BaseResponse response = client.updateConfig(
"<YOUR_INDEX_NAME>",
new Configuration()
.setSourceIndices(
Arrays.asList(
new SourceIndex()
.setIndexName("<YOUR_INDEX_NAME>")
.setFacets(Arrays.asList(new Facet().setAttribute("test")))
.setGenerate(Arrays.asList(Arrays.asList("facetA", "facetB"), Arrays.asList("facetC")))
)
)
.setLanguages(Languages.of(Arrays.asList("french")))
.setExclude(Arrays.asList("test"))
);
// print the response
System.out.println(response);// Initialize the client
// Replace 'us' with your Algolia Application Region
const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initQuerySuggestions({ region: 'us' });
// Call the API
const response = await client.updateConfig({
indexName: 'theIndexName',
configuration: {
sourceIndices: [
{ indexName: 'testIndex', facets: [{ attribute: 'test' }], generate: [['facetA', 'facetB'], ['facetC']] },
],
languages: ['french'],
exclude: ['test'],
},
});
// print the response
console.log(response);// Initialize the client
val client =
QuerySuggestionsClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION",
)
// Call the API
var response =
client.updateConfig(
indexName = "<YOUR_INDEX_NAME>",
configuration =
Configuration(
sourceIndices =
listOf(
SourceIndex(
indexName = "<YOUR_INDEX_NAME>",
facets = listOf(Facet(attribute = "test")),
generate = listOf(listOf("facetA", "facetB"), listOf("facetC")),
)
),
languages = Languages.of(listOf("french")),
exclude = listOf("test"),
),
)
// print the response
println(response)// Initialize the client
$client = QuerySuggestionsClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY', 'ALGOLIA_APPLICATION_REGION');
// Call the API
$response = $client->updateConfig(
'<YOUR_INDEX_NAME>',
['sourceIndices' => [
['indexName' => '<YOUR_INDEX_NAME>',
'facets' => [
['attribute' => 'test',
],
],
'generate' => [
[
'facetA',
'facetB',
],
[
'facetC',
],
],
],
],
'languages' => [
'french',
],
'exclude' => [
'test',
],
],
);
// print the response
var_dump($response);# Initialize the client
# In an asynchronous context, you can use QuerySuggestionsClient instead, which exposes the exact same methods.
client = QuerySuggestionsClientSync(
"ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION"
)
# Call the API
response = client.update_config(
index_name="<YOUR_INDEX_NAME>",
configuration={
"sourceIndices": [
{
"indexName": "<YOUR_INDEX_NAME>",
"facets": [
{
"attribute": "test",
},
],
"generate": [
[
"facetA",
"facetB",
],
[
"facetC",
],
],
},
],
"languages": [
"french",
],
"exclude": [
"test",
],
},
)
# print the response
print(response)# Initialize the client
client = Algolia::QuerySuggestionsClient.create(
"ALGOLIA_APPLICATION_ID",
"ALGOLIA_API_KEY",
"ALGOLIA_APPLICATION_REGION"
)
# Call the API
response = client.update_config(
"<YOUR_INDEX_NAME>",
Algolia::QuerySuggestions::Configuration.new(
source_indices: [
Algolia::QuerySuggestions::SourceIndex.new(
index_name: "<YOUR_INDEX_NAME>",
facets: [Algolia::QuerySuggestions::Facet.new(attribute: "test")],
generate: [["facetA", "facetB"], ["facetC"]]
)
],
languages: ["french"],
exclude: ["test"]
)
)
# print the response
puts(response)// Initialize the client
val client = QuerySuggestionsClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION"
)
// Call the API
val response = Await.result(
client.updateConfig(
indexName = "<YOUR_INDEX_NAME>",
configuration = Configuration(
sourceIndices = Seq(
SourceIndex(
indexName = "<YOUR_INDEX_NAME>",
facets = Some(
Seq(
Facet(
attribute = Some("test")
)
)
),
generate = Some(Seq(Seq("facetA", "facetB"), Seq("facetC")))
)
),
languages = Some(Languages(Seq("french"))),
exclude = Some(Seq("test"))
)
),
Duration(100, "sec")
)
// print the response
println(response)// Initialize the client
let client = try QuerySuggestionsClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY", region: .us)
// Call the API
let response = try await client.updateConfig(
indexName: "<YOUR_INDEX_NAME>",
configuration: QuerySuggestionsConfiguration(
sourceIndices: [SourceIndex(
indexName: "<YOUR_INDEX_NAME>",
facets: [Facet(attribute: "test")],
generate: [["facetA", "facetB"], ["facetC"]]
)],
languages: QuerySuggestionsLanguages.arrayOfString(["french"]),
exclude: ["test"]
)
)
// print the response
print(response)Update a configuration
Updates a QuerySuggestions configuration.
curl --request PUT \
--url https://query-suggestions.us.algolia.com/1/configs/ALGOLIA_INDEX_NAME \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-algolia-api-key: ALGOLIA_API_KEY' \
--header 'x-algolia-application-id: ALGOLIA_APPLICATION_ID' \
--data '
{
"sourceIndices": [
{
"indexName": "products",
"replicas": false,
"analyticsTags": [
"lorem"
],
"facets": [
{
"attribute": "category",
"amount": 3
},
{
"attribute": "brand",
"amount": 2
}
],
"minHits": 5,
"minLetters": 4,
"generate": [
[
"color",
"brand"
]
],
"external": [
"lorem"
]
}
],
"languages": [
"lorem"
],
"exclude": [
"lorem"
],
"enablePersonalization": false,
"allowSpecialCharacters": false
}
'// Initialize the client
var client = new QuerySuggestionsClient(
new QuerySuggestionsConfig(
"ALGOLIA_APPLICATION_ID",
"ALGOLIA_API_KEY",
"ALGOLIA_APPLICATION_REGION"
)
);
// Call the API
var response = await client.UpdateConfigAsync(
"<YOUR_INDEX_NAME>",
new Configuration
{
SourceIndices = new List<SourceIndex>
{
new SourceIndex
{
IndexName = "<YOUR_INDEX_NAME>",
Facets = new List<Facet> { new Facet { Attribute = "test" } },
Generate = new List<List<string>>
{
new List<string> { "facetA", "facetB" },
new List<string> { "facetC" },
},
},
},
Languages = new Languages(new List<string> { "french" }),
Exclude = new List<string> { "test" },
}
);
// print the response
Console.WriteLine(response);// Initialize the client with your application region, eg. suggestions.ALGOLIA_APPLICATION_REGION
client, err := suggestions.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", suggestions.US)
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.UpdateConfig(client.NewApiUpdateConfigRequest(
"<YOUR_INDEX_NAME>",
suggestions.NewEmptyConfiguration().SetSourceIndices(
[]suggestions.SourceIndex{*suggestions.NewEmptySourceIndex().SetIndexName("<YOUR_INDEX_NAME>").SetFacets(
[]suggestions.Facet{*suggestions.NewEmptyFacet().SetAttribute("test")}).SetGenerate(
[][]string{
{"facetA", "facetB"},
{"facetC"},
})}).SetLanguages(suggestions.ArrayOfStringAsLanguages(
[]string{"french"})).SetExclude(
[]string{"test"})))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)// Initialize the client
QuerySuggestionsClient client = new QuerySuggestionsClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION");
// Call the API
BaseResponse response = client.updateConfig(
"<YOUR_INDEX_NAME>",
new Configuration()
.setSourceIndices(
Arrays.asList(
new SourceIndex()
.setIndexName("<YOUR_INDEX_NAME>")
.setFacets(Arrays.asList(new Facet().setAttribute("test")))
.setGenerate(Arrays.asList(Arrays.asList("facetA", "facetB"), Arrays.asList("facetC")))
)
)
.setLanguages(Languages.of(Arrays.asList("french")))
.setExclude(Arrays.asList("test"))
);
// print the response
System.out.println(response);// Initialize the client
// Replace 'us' with your Algolia Application Region
const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initQuerySuggestions({ region: 'us' });
// Call the API
const response = await client.updateConfig({
indexName: 'theIndexName',
configuration: {
sourceIndices: [
{ indexName: 'testIndex', facets: [{ attribute: 'test' }], generate: [['facetA', 'facetB'], ['facetC']] },
],
languages: ['french'],
exclude: ['test'],
},
});
// print the response
console.log(response);// Initialize the client
val client =
QuerySuggestionsClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION",
)
// Call the API
var response =
client.updateConfig(
indexName = "<YOUR_INDEX_NAME>",
configuration =
Configuration(
sourceIndices =
listOf(
SourceIndex(
indexName = "<YOUR_INDEX_NAME>",
facets = listOf(Facet(attribute = "test")),
generate = listOf(listOf("facetA", "facetB"), listOf("facetC")),
)
),
languages = Languages.of(listOf("french")),
exclude = listOf("test"),
),
)
// print the response
println(response)// Initialize the client
$client = QuerySuggestionsClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY', 'ALGOLIA_APPLICATION_REGION');
// Call the API
$response = $client->updateConfig(
'<YOUR_INDEX_NAME>',
['sourceIndices' => [
['indexName' => '<YOUR_INDEX_NAME>',
'facets' => [
['attribute' => 'test',
],
],
'generate' => [
[
'facetA',
'facetB',
],
[
'facetC',
],
],
],
],
'languages' => [
'french',
],
'exclude' => [
'test',
],
],
);
// print the response
var_dump($response);# Initialize the client
# In an asynchronous context, you can use QuerySuggestionsClient instead, which exposes the exact same methods.
client = QuerySuggestionsClientSync(
"ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION"
)
# Call the API
response = client.update_config(
index_name="<YOUR_INDEX_NAME>",
configuration={
"sourceIndices": [
{
"indexName": "<YOUR_INDEX_NAME>",
"facets": [
{
"attribute": "test",
},
],
"generate": [
[
"facetA",
"facetB",
],
[
"facetC",
],
],
},
],
"languages": [
"french",
],
"exclude": [
"test",
],
},
)
# print the response
print(response)# Initialize the client
client = Algolia::QuerySuggestionsClient.create(
"ALGOLIA_APPLICATION_ID",
"ALGOLIA_API_KEY",
"ALGOLIA_APPLICATION_REGION"
)
# Call the API
response = client.update_config(
"<YOUR_INDEX_NAME>",
Algolia::QuerySuggestions::Configuration.new(
source_indices: [
Algolia::QuerySuggestions::SourceIndex.new(
index_name: "<YOUR_INDEX_NAME>",
facets: [Algolia::QuerySuggestions::Facet.new(attribute: "test")],
generate: [["facetA", "facetB"], ["facetC"]]
)
],
languages: ["french"],
exclude: ["test"]
)
)
# print the response
puts(response)// Initialize the client
val client = QuerySuggestionsClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION"
)
// Call the API
val response = Await.result(
client.updateConfig(
indexName = "<YOUR_INDEX_NAME>",
configuration = Configuration(
sourceIndices = Seq(
SourceIndex(
indexName = "<YOUR_INDEX_NAME>",
facets = Some(
Seq(
Facet(
attribute = Some("test")
)
)
),
generate = Some(Seq(Seq("facetA", "facetB"), Seq("facetC")))
)
),
languages = Some(Languages(Seq("french"))),
exclude = Some(Seq("test"))
)
),
Duration(100, "sec")
)
// print the response
println(response)// Initialize the client
let client = try QuerySuggestionsClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY", region: .us)
// Call the API
let response = try await client.updateConfig(
indexName: "<YOUR_INDEX_NAME>",
configuration: QuerySuggestionsConfiguration(
sourceIndices: [SourceIndex(
indexName: "<YOUR_INDEX_NAME>",
facets: [Facet(attribute: "test")],
generate: [["facetA", "facetB"], ["facetC"]]
)],
languages: QuerySuggestionsLanguages.arrayOfString(["french"]),
exclude: ["test"]
)
)
// print the response
print(response)editSettingsAuthorizations
Your Algolia application ID.
Your Algolia API key with the necessary permissions to make the request. Permissions are controlled through access control lists (ACL) and access restrictions. The required ACL to make a request is listed in each endpoint's reference.
Path Parameters
Query Suggestions index name. Name of the Query Suggestions index (case-sensitive).
"ALGOLIA_INDEX_NAME"
Body
Query Suggestions configuration.
Algolia indices from which to get the popular searches for query suggestions.
1Show child attributes
Show child attributes
Whether to include suggestions with special characters.
Whether to turn on personalized query suggestions.
Words or regular expressions to exclude from the suggestions.
Languages for which to deduplicate singular and plural forms.
Two-letter country code.
Was this page helpful?