search
Examples
public class Product
{
public string ObjectID { get; set; }
public string Name { get; set; }
public string Category { get; set; }
public float Price { get; set; }
}
public class RecommendedProduct : Product, Algolia.Search.Models.Recommend.IRecommendHit
{
public float Score { get; set; }
}
var requests = new List<Algolia.Search.Models.Recommend.RecommendRequest> {
new Algolia.Search.Models.Recommend.RecommendRequest {
IndexName = "INDEX_NAME",
ObjectID = "your_object_id",
Model = "bought-together",
}
}
var recommendations = recommendClient.GetRecommendations<RecommendedProduct>(requests);
// Asynchronous
var recommendations =
await recommendClient.GetRecommendationsAsync<RecommendedProduct>(requests);
options := recommend.RecommendationsOptions{IndexName: "IndexName", ObjectID: "B018APC4LE", Model: recommend.BoughtTogether}
res, err = recommendClient.GetRecommendations([]recommend.RecommendationsOptions{options})
class Product implements RecommendHit {
String objectID;
String name;
Float score;
@Nonnull
@Override
public Float getScore() { return score; }
public void setScore(Float score) { this.score = score; }
public String getObjectID() { return objectID; }
public void setObjectID(String objectID) { this.objectID = objectID; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
}
RecommendationsQuery query = new RecommendationsQuery("yourIndexName", "bought-together", "yourObjectID");
// Synchronous
List<RecommendationsResult<Product>> recommendations = recommendClient.getRecommendations(Arrays.asList(query), Product.class);
// Asynchronous
CompletableFuture<List<RecommendationsResult<Product>>> recommendations = recommendClient.getRecommendationsAsync(Arrays.asList(query), Product.class);
recommendClient
.getRecommendations([
{
indexName: "INDEX_NAME",
objectID: "your_object_id",
model: "bought-together",
},
])
.then(({ results }) => {
console.log(results);
})
.catch((err) => {
console.log(err);
});
val request = RecommendationsQuery(
indexName = IndexName("yourIndexName"),
objectID = ObjectID("yourObjectID"),
model = RecommendationModel.BoughtTogether,
)
val recommendations = recommendClient.getRecommendations(requests = listOf(request))
$recommendations = $recommend_client->getRecommendations([
[
'indexName' => 'INDEX_NAME',
'objectID' => 'your_object_id',
'model' => 'bought-together',
],
]);
recommendations = recommend_client.get_recommendations(
[
{
"indexName": "INDEX_NAME",
"objectID": "your_object_id",
"model": "bought-together",
},
]
)
recommendations = recommend_client.get_recommendations(
[
{
indexName: "INDEX_NAME",
objectID: "your_object_id",
model: "bought-together"
}
]
)
recommendClient.execute {
val query = RecommendationsQuery(
indexName = "yourIndexName",
model = "bought-together",
objectID = "yourObjectID",
)
get recommendations List(query)
}
let options = RecommendationsOptions(indexName: "IndexName",
model: .boughtTogether,
objectID: "B018APC4LE")
recommendClient.getRecommendations(options: [options]) { result in
if case .success(let response) = result {
print("Response: \(response)")
}
}
Parameters
object[]
required
Show child attributes
Show child attributes
string
required
Facet attribute for which to get recommendations.
string
required
Name of the index.
enum<string>
required
Name of the recommendation model to use.
One of:
bought-together, related-products, trending-items, trending-facets.string
required
Object ID for which to get recommendations.
number
required
Threshold for the recommendations confidence score (between 0 and 100).
Only recommendations with a greater score are returned.
string
Facet value for which to get recommendations for. This parameter must be used along with #.
object
Search parameters to use as fallback when there are no recommendations.
integer
Maximum number of recommendations to retrieve.
Depending on the available recommendations and the other request parameters,
the actual number of recommendations may be lower.
If you don’t set
maxRecommendations or set it to 0,
all matching recommendations are returned, and no fallback request is performed.object
Search parameters for filtering the recommendations.
Response
object[]
List of results in the order they were submitted, one per query.Example:
JSON
{
"results": [
{
"hits": [
{
// ...,
"_score": 32.72
}
],
},
]
}
Show child attributes
Show child attributes
number
Confidence score of the recommended item. The closer it is to 100, the more relevant.
Response as JSON
This section shows the JSON response returned by the API. Each API client wraps this response in language-specific objects, so the structure may vary. To view the response, use thegetLogs method.
Don’t rely on the order of properties—JSON objects don’t preserve key order.
JSON
{
"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,
}
]
}