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 RelatedProduct : Product, Algolia.Search.Models.Recommend.IRecommendHit
{
public float Score { get; set; }
}
var requests = new List<Algolia.Search.Models.Recommend.RelatedProductsRequest> {
new Algolia.Search.Models.Recommend.RelatedProductsRequest {
IndexName = "INDEX_NAME",
ObjectID = "your_object_id",
}
}
var relatedProducts =
recommendClient.GetRelatedProducts<RelatedProduct>(requests);
// Asynchronous
var relatedProducts =
await recommendClient.GetRelatedProductsAsync<RelatedProduct>(requests);
options := recommend.NewRelatedProductsOptions("IndexName", "B018APC4LE", 0, nil, nil, nil)
res, err = recommendClient.GetRelatedProducts([]recommend.RelatedProductsOptions{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; }
}
RelatedProductsQuery query = new RelatedProductsQuery("yourIndexName", "yourObjectID");
// Synchronous
List<RecommendationsResult<Product>> recommendations = recommendClient.getRelatedProducts(Arrays.asList(query), Product.class);
// Asynchronous
CompletableFuture<List<RecommendationsResult<Product>>> recommendations = recommendClient.getRelatedProductsAsync(Arrays.asList(query), Product.class);
recommendClient
.getRelatedProducts([
{
indexName: "INDEX_NAME",
objectID: "your_object_id",
},
])
.then(({ results }) => {
console.log(results);
})
.catch((err) => {
console.log(err);
});
val request = RelatedProductsQuery(
indexName = IndexName("yourIndexName"),
objectID = ObjectID("yourObjectID"),
)
recommendClient.getRelatedProducts(requests = listOf(request))
$recommendations = $recommend_client->getRelatedProducts([
[
'indexName' => 'INDEX_NAME',
'objectID' => 'your_object_id',
],
]);
related_products = recommend_client.get_related_products(
[
{
"indexName": "INDEX_NAME",
"objectID": "your_object_id",
},
]
)
recommendations = recommend_client.get_related_products(
[
{
indexName: "INDEX_NAME",
objectID: "your_object_id"
}
]
)
recommendClient.execute {
val query = RelatedProductsQuery(
indexName = "yourIndexName",
objectID = "yourObjectID"
)
get relatedProducts List(query)
}
let options = RelatedProductsOptions(indexName: "IndexName", objectID: "B018APC4LE")
recommendClient.getRelatedProducts(options: [options]) { result in
if case .success(let response) = result {
print("Response: \(response)")
}
}
Parameters
object[]
required
Show child attributes
Show child attributes
string
required
The name of the target index.
string
required
The
objectID of the item to get recommendations for.number
required
Threshold for the recommendations confidence score (between 0 and 100). Only recommendations with a greater score are returned.
object
List of search parameters to send,
except
page, hitsPerPage, offset, length.Additional filters to use as fallback when there aren’t enough recommendations.integer
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
maxRecommendations isn’t provided or set to 0, all matching recommendations are returned, and no fallback request is performed.object
List of search parameters to send.
except
page, hitsPerPage, offset, length.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
The confidence score of the recommended item, the closer it’s 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,
}
]
}