analytics
Returns rows, each a flat object of the requested fields. metrics and parameters are required;
groupBy, filters, and orderBy are optional, though orderBy is required when groupBy is set.
Discover valid field kinds per domain with /3/patterns/fields.
Usage
// Initialize the client
var client = new AnalyticsClient(
new AnalyticsConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")
);
// Call the API
var response = await client.QueryPatternsTableAsync(
new TablePayload
{
Metrics = new List<FieldReference> { new FieldReference { Kind = "searchesCount" } },
Parameters = new List<ParameterDefinition>
{
new ParameterDefinition
{
Kind = "indices",
Value = new ParameterValue(new List<string> { "index" }),
},
},
},
"index"
);
// print the response
Console.WriteLine(response);
// Initialize the client with your application region, eg. analytics.ALGOLIA_APPLICATION_REGION
client, err := analytics.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", analytics.US)
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.QueryPatternsTable(client.NewApiQueryPatternsTableRequest(
analytics.NewEmptyTablePayload().SetMetrics(
[]analytics.FieldReference{*analytics.NewEmptyFieldReference().SetKind("searchesCount")}).SetParameters(
[]analytics.ParameterDefinition{
*analytics.NewEmptyParameterDefinition().SetKind("indices").SetValue(analytics.ArrayOfStringAsParameterValue(
[]string{"index"})),
}),
).WithIndex("index"))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)
// Initialize the client
AnalyticsClient client = new AnalyticsClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION");
// Call the API
TableResponse response = client.queryPatternsTable(
new TablePayload()
.setMetrics(Arrays.asList(new FieldReference().setKind("searchesCount")))
.setParameters(Arrays.asList(new ParameterDefinition().setKind("indices").setValue(ParameterValue.of(Arrays.asList("index"))))),
"index"
);
// 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').initAnalytics({ region: 'us' });
// Call the API
const response = await client.queryPatternsTable({
tablePayload: { metrics: [{ kind: 'searchesCount' }], parameters: [{ kind: 'indices', value: ['index'] }] },
index: 'index',
});
// print the response
console.log(response);
// Initialize the client
val client =
AnalyticsClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = "ALGOLIA_APPLICATION_REGION",
)
// Call the API
var response =
client.queryPatternsTable(
tablePayload =
TablePayload(
metrics = listOf(FieldReference(kind = "searchesCount")),
parameters =
listOf(
ParameterDefinition(kind = "indices", value = ParameterValue.of(listOf("index")))
),
),
index = "index",
)
// print the response
println(response)
// Initialize the client
$client = AnalyticsClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY', 'ALGOLIA_APPLICATION_REGION');
// Call the API
$response = $client->queryPatternsTable(
['metrics' => [
['kind' => 'searchesCount',
],
],
'parameters' => [
['kind' => 'indices',
'value' => [
'index',
],
],
],
],
'index',
);
// print the response
var_dump($response);
# Initialize the client
# In an asynchronous context, you can use AnalyticsClient instead, which exposes the exact same methods.
client = AnalyticsClientSync(
"ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION"
)
# Call the API
response = client.query_patterns_table(
table_payload={
"metrics": [
{
"kind": "searchesCount",
},
],
"parameters": [
{
"kind": "indices",
"value": [
"index",
],
},
],
},
index="index",
)
# print the response
print(response)
# Initialize the client
client = Algolia::AnalyticsClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY", "ALGOLIA_APPLICATION_REGION")
# Call the API
response = client.query_patterns_table(
Algolia::Analytics::TablePayload.new(
metrics: [Algolia::Analytics::FieldReference.new(kind: "searchesCount")],
parameters: [Algolia::Analytics::ParameterDefinition.new(kind: "indices", value: ["index"])]
),
"index"
)
# print the response
puts(response)
// Initialize the client
val client = AnalyticsClient(
appId = "ALGOLIA_APPLICATION_ID",
apiKey = "ALGOLIA_API_KEY",
region = Option("ALGOLIA_APPLICATION_REGION")
)
// Call the API
val response = Await.result(
client.queryPatternsTable(
tablePayload = TablePayload(
metrics = Seq(
FieldReference(
kind = "searchesCount"
)
),
parameters = Seq(
ParameterDefinition(
kind = "indices",
value = ParameterValue(Seq("index"))
)
)
),
index = Some("index")
),
Duration(100, "sec")
)
// print the response
println(response)
// Initialize the client
let client = try AnalyticsClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY", region: .us)
// Call the API
let response = try await client.queryPatternsTable(
tablePayload: TablePayload(
metrics: [FieldReference(kind: "searchesCount")],
parameters: [ParameterDefinition(
kind: "indices",
value: ParameterValue.arrayOfString(["index"])
)]
),
index: "index"
)
// print the response
print(response)
See the full API reference
For more details about input parameters
and response fields.