Skip to content

Configuring a SimilarProducts recommendation

Looking for setup prerequisites, authentication details, and package references? Start with the PHP 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.

php
$recommender = new Recommender(
    "00000000-0000-0000-0000-000000000001",
    "your API Key"
);
$recommender->serverUrl = "the server URL for the dataset";

$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)
    ->setSignificantProductDataFieldsFromArray(array(
        SignificantDataValue::create("StringValueDataKey", SignificantDataValueSignificantDataValueComparer::Equals, 1.0),
        SignificantDataValue::create("CollectionValueDataKey", SignificantDataValueSignificantDataValueComparer::CollectionOverlap, 1.0)
    ));

$request = SimilarProductsRequest::create(
    Language::create("en-gb"),
    Currency::create("GBP"),
    "Product Details",
    $this->getUser(),
    $evaluationSettings
)
    ->setExistingProductId(ProductAndVariantId::create("product-id", "variant-id"))
    ->setSettings(
        ProductRecommendationRequestSettings::create()
            ->setNumberOfRecommendations(10)
    );

$response = $recommender->similarProducts($request);

Don't know us? Don't worry - you can find more information about us, by visiting our main page www.relewise.com