CIORecommendationsQuery
public struct CIORecommendationsQuery : CIORequestData
Struct encapsulating the necessary and additional parameters required to execute a recommendations query.
-
The pod ID
Declaration
Swift
public let podID: String -
The item id to retrieve recommendations for (strategy specific)
Declaration
Swift
public let itemID: String? -
The item variation id to retrieve recommendations for (strategy specific)
Declaration
Swift
public let variationID: String? -
The term to use to refine results (strategy specific)
Declaration
Swift
public let term: String? -
The filters used to refine results
Declaration
Swift
public let filters: CIOQueryFilters? -
The number of results to return
Declaration
Swift
public let numResults: Int? -
The section to return results from
Declaration
Swift
public let section: String -
The list of hidden metadata fields to return
Declaration
Swift
public let hiddenFields: [String]? -
The pre filter expression used to refine results Please refer to our docs for the syntax on adding pre filter expressions: https://docs.constructor.com/reference/shared-filter-expressions
Declaration
Swift
public let preFilterExpression: String? -
init(podID:itemID: variationID: term: filters: numResults: section: hiddenFields: preFilterExpression: variationsMap: ) Create a Recommendations request query object
Usage Example:
let preFilterExpression = "{\"or\":[{\"and\":[{\"name\":\"group_id\",\"value\":\"electronics-group-id\"},{\"name\":\"Price\",\"range\":[\"-inf\",200.0]}]},{\"and\":[{\"name\":\"Type\",\"value\":\"Laptop\"},{\"not\":{\"name\":\"Price\",\"range\":[800.0,\"inf\"]}}]}]}" let variationsMap = CIOQueryVariationsMap( GroupBy: [GroupByOption(name: "Country", field: "data.Country")], Values: ["price": ValueOption(aggregation: "min", field: "data.price")], Dtype: "array" ) let recommendationsQuery = CIORecommendationsQuery(podID: "pod_name", itemID: "item_id", variationID: "variation_id", numResults: 5, section: "Products", hiddenFields: ["price_CA", "currency_CA"], preFilterExpression: preFilterExpression, variationsMap: variationsMap)Declaration
Swift
public init(podID: String, itemID: String? = nil, variationID: String? = nil, term: String? = nil, filters: CIOQueryFilters? = nil, numResults: Int? = nil, section: String? = nil, hiddenFields: [String]? = nil, preFilterExpression: String? = nil, variationsMap: CIOQueryVariationsMap? = nil)Parameters
podIDThe pod ID
itemIDThe item id to retrieve recommendations for (strategy specific)
variationIDThe item variation id to retrieve recommendations for (strategy specific)
termThe term to use to refine results (strategy specific)
filtersThe filters used to refine results
numResultsThe number of results to return
sectionThe section to return results from
hiddenFieldsThe list of hidden metadata fields to return
preFilterExpressionThe pre filter expression used to refine results
variationsMapThe variation map to use with the result set