Get Recommendations
search
ACL
$recommendClient->getRecommendations(array requests)
About this method
We released a new version of the PHP API client in public beta. Read the beta documentation for more information.
We released a new version of the JavaScript API client in public beta. Read the beta documentation for more information.
We released a new version of the Java API client in public beta. Read the beta documentation for more information.
You’re currently reading the JavaScript API client v4 documentation. Check the migration guide to learn how to upgrade from v3 to v4. You can still access the v3 documentation.
You’re currently reading the Ruby API client v2 documentation. Check the migration guide to learn how to upgrade from v1 to v2. You can still access the v1 documentation.
Retrieve recommendations.
This method allows you to use any of Algolia’s recommendation models in a generic way.
If you want to use more specific recommendations, use the appropriate method instead, e.g. get-related-products
, get-trending-global-items
etc.
Examples
Read the Algolia CLI documentation for more information.
1
2
3
4
5
6
7
$recommendations = $recommendClient->getRecommendations([
[
'indexName' => 'your_index_name',
'objectID' => 'your_object_id',
'model' => 'bought-together',
],
]);
Parameters
requests
|
type: list of request object
Required
A list of request objects to execute. |
requests âž” request object
A single recommendation request. The body schema depends on the targeted model. The following parameters are common to all models.
indexName
|
type: string
Required
The name of the target index. |
model
|
type: "related-products" | "bought-together" | "trending-items" | "trending-facets"
Required
The name of the Recommendation model to use. |
threshold
|
type: number
Required
Threshold for the recommendations confidence score (between 0 and 100). Only recommendations with a greater score are returned. |
maxRecommendations
|
type: number
The number of recommendations to retrieve. Depending on the available recommendations and the other request parameters, the actual number of hits may be lower than that.
If |
requests âž” request object with related-products or bought-together
{ indexName: "an index name", model: "bought-together", threshold: 0, maxRecommendations: 10, objectID: "an objectID", queryParameters: { query parameters }, fallbackParameters: { query parameters } }
Fetch recommendations of a specific item. The following parameters are specific to models ‘related-products’ and ‘bought-together’.
objectID
|
type: string
Required
The |
queryParameters
|
type: key-value mapping
Optional
A key-value mapping of search parameters to filter the recommendations. |
fallbackParameters
|
type: key-value mapping
Optional
A key-value mapping of search parameters to use as fallback when there are no recommendations. |
requests âž” request object with trending-items
{ indexName: "an index name", model: "trending-items", threshold: 0, maxRecommendations: 10, facetName: "a facet attribute name", facetValue: "a facet value", queryParameters: { query parameters }, fallbackParameters: { query parameters } }
Fetch trending items, either globally or only those matching a specific facet. The following parameters are specific to model ‘trending-items’. If no facet is provided, the query fetches globally trending items.
facetName
|
type: string
Optional
The facet attribute to get recommendations for. This parameter must be used along with facetValue. |
facetValue
|
type: string
Optional
The facet value to get recommendations for. This parameter must be used along with facetName. |
queryParameters
|
type: key-value mapping
Optional
A key-value mapping of search parameters to filter the recommendations. |
fallbackParameters
|
type: key-value mapping
Optional
A key-value mapping of search parameters to use as fallback when there are no recommendations. |
requests âž” request object with trending-facets
{ indexName: "an index name", model: "trending-facets", threshold: 0, maxRecommendations: 10, facetName: "a facet attribute name", }
Fetch trending facet values given a specific facet attribute. The following parameters are specific to model ‘trending-facets’.
facetName
|
type: string
Required
The facet attribute to get recommendations for. |
Response
This section shows the JSON response returned by the API. Since each language encapsulates this response inside objects specific to that language and/or implementation, the actual type in your language might differ from what’s written here. You can view the response in the logs (using the getLogs
method).
JSON format
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
"results": [
{
"hits": [
{
"_highlightResult": {
"category": {
"matchLevel": "none",
"matchedWords": [],
"value": "Men - T-Shirts"
},
"image_link": {
"matchLevel": "none",
"matchedWords": [],
"value": "https://example.org/image/D05927-8161-111-F01.jpg"
},
"name": {
"matchLevel": "none",
"matchedWords": [],
"value": "Jirgi Half-Zip T-Shirt"
}
},
"_score": 32.72,
"category": "Men - T-Shirts",
"image_link": "https://example.org/image/D05927-8161-111-F01.jpg",
"name": "Jirgi Half-Zip T-Shirt",
"objectID": "D05927-8161-111",
"position": 105,
"url": "men/t-shirts/d05927-8161-111"
}
],
"processingTimeMS": 1,
}
]
}
results
|
list of result
List of results in the order they were submitted, one per query. { "results": [ { "hits": [ { ..., _score: 32.72 } ], }, ] } |
results âž” result
The results
object contains the same hits
object as the one of the search
method. Each result also includes the following additional field:
_score
|
number
The confidence score of the recommended item, the closer it’s to 100, the more relevant. |