Add A/B Test | Ruby API Client V1 (Deprecated)
This version of the Ruby API client has been deprecated in favor of the latest version of the Ruby API client.
setSettings
ACL
analytics.add_ab_test(Map abTest)
About this method
Create an A/B test.
You can set an A/B test on two different indices with different settings, or on the same index with different search parameters by providing a customSearchParameters setting on one of the variants.
Examples
Add an A/B test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$endDate = new \DateTime('tomorrow');
$endDate = $endDate->format('Y-m-d\TH:i:s\Z');
$analytics = AnalyticsClient::create(
'YourApplicationID',
'YourWriteAPIKey'
);
$analytics->addABTest([
'name' => 'myABTest',
'variants' => [
[
'index' => 'indexName1',
'trafficPercentage' => 90,
'description' => 'a description'
],
[
'index' => 'indexName1-alt',
'trafficPercentage' => 10
],
],
"endAt" => $endDate,
]);
Add an A/B test on a single index with custom search parameters
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$endAt = new DateTime('tomorrow');
$abTest = [
'name' => 'myABTest',
'variants' => [
['index' => 'indexName1', 'trafficPercentage' => 90],
[
'index' => 'indexName1',
'trafficPercentage' => 10,
'customSearchParameters' => ['ignorePlurals' => true],
],
],
'endAt' => $endAt->format('Y-m-d\TH:i:s\Z'),
];
$response = $analyticsClient->addABTest($abTest);
Parameters
abTest
|
type: abTest object
Required
The definition of the A/B test { "name": name, "variants": variants, "endAt": endAt } |
➔ abTest object
name
|
type: string
Required
Name of the A/B test |
variants
|
type: list of variant
Required
List of 2 variants:
[ { "index": index, "description": description, "trafficPercentage": trafficPercentage }, { "index": index, "description": description, "trafficPercentage": trafficPercentage, "customSearchParameters": customSearchParameters } ] |
endAt
|
type: string
Optional
A date to automatically end an A/B test at a specific time.
The date should be in the following format: |
variants ➔ variant
index
|
type: string
Required
Index name |
trafficPercentage
|
type: integer
Required
Percentage of the traffic that should be going to the variant. The sum of the percentage should be equal to 100. |
customSearchParameters
|
type: key/value mapping
Optional
Applies search parameters on a variant. This can only be used if the two variants are using the same index. Can be one or sereval of the following parameters: Search
Typo tolerance
Facets Synonyms Personalization Distinct Geo search |
description
|
type: string
Optional
Description of the variant. This is useful when seeing the results in the dashboard or via the API. |
Response
In this section we document the JSON response returned by the API. Each language will encapsulate this response inside objects specific to the language and/or the implementation. So the actual type in your language might differ from what is documented.
JSON format
1
2
3
4
5
{
"abTestID": 78,
"taskID": 111885720
"index": "atis-abtest-default",
}
abTestID
|
integer
Generated Id of the A/B test. |
taskID
|
integer
The taskID used with the waitTask method. |
index
|
string
Base index name for the A/B test. |