Appearance
Configuring a SimilarProducts recommendation
Looking for setup prerequisites, authentication details, and package references? Start with the Java SDK landing page.
Unlike most other recommendation types, SimilarProducts requires setup to be optimally useful.
For more information about the types of data and comparers that go into setting up the recommendation, click here.
Before going any further, read about handling different types of users here.
java
Recommender recommender = new Recommender(
"00000000-0000-0000-0000-000000000001",
"your API Key",
"the server URL for the dataset");
SimilarProductsEvaluationSettings evaluationSettings = SimilarProductsEvaluationSettings.create()
.setSignificanceOfSimilaritiesInDisplayName(1.0)
.setSignificanceOfSimilarBrand(0.5)
.setSignificanceOfSimilarListPrice(0.5)
.setSignificanceOfSimilarSalesPrice(0.5)
.setSignificanceOfCommonImmediateParentCategories(1.0)
.setSignificanceOfCommonParentsParentCategories(0.5)
.setSignificanceOfCommonAncestorCategories(0.25)
.setSignificanceOfIdenticalProductDataValues(1.0)
.setSignificantProductDataFields(
SignificantDataValue.create("StringValueDataKey", SignificantDataValueSignificantDataValueComparer.Equals, 1.0, null),
SignificantDataValue.create("CollectionValueDataKey", SignificantDataValueSignificantDataValueComparer.CollectionOverlap, 1.0, null)
);
SimilarProductsRequest request = SimilarProductsRequest.create(
Language.create("en-gb"),
Currency.create("GBP"),
"Product Details",
getUser(),
ProductAndVariantId.create("product-id", "variant-id"))
.setEvaluationSettings(evaluationSettings)
.setSettings(
ProductRecommendationRequestSettings.create()
.setNumberOfRecommendations(10)
);
ProductRecommendationResponse response = recommender.recommend(request);