CIOSearchQuery
public struct CIOSearchQuery : CIORequestData
Struct encapsulating the necessary and additional parameters required to execute a search query.
-
The user typed query to return results for
Declaration
Swift
public let query: String
-
The filters used to refine results
Declaration
Swift
public let filters: CIOQueryFilters?
-
The page number of the results
Declaration
Swift
public let page: Int
-
The number of results per page to return
Declaration
Swift
public let perPage: Int
-
The sort method/order for results
Declaration
Swift
public let sortOption: CIOSortOption?
-
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 list of hidden facet fields to return
Declaration
Swift
public let hiddenFacets: [String]?
-
The sort method/order for groups
Declaration
Swift
public let groupsSortOption: CIOGroupsSortOption?
-
The pre filter expression used to refine results Please refer to our docs for the syntax on adding pre filter expressions: https://docs.constructor.io/rest_api/collections/#add-items-dynamically
Declaration
Swift
public let preFilterExpression: String?
-
init(query:
filters: sortOption: page: perPage: section: hiddenFields: hiddenFacets: groupsSortOption: variationsMap: preFilterExpression: ) Create a Search request query object
Usage Example:
let facetFilters = [(key: "Nutrition", value: "Organic"), (key: "Nutrition", value: "Natural"), (key: "Brand", value: "Kraft Foods")] 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 searchQuery = CIOSearchQuery(query: "red", filters: CIOQueryFilters(groupFilter: nil, facetFilters: facetFilters), page: 1, perPage: 30, section: "Products", hiddenFields: ["price_CA", "currency_CA"], hiddenFacets: ["brand", "price_CA"], preFilterExpression: preFilterExpression)
Declaration
Swift
public init(query: String, filters: CIOQueryFilters? = nil, sortOption: CIOSortOption? = nil, page: Int? = nil, perPage: Int? = nil, section: String? = nil, hiddenFields: [String]? = nil, hiddenFacets: [String]? = nil, groupsSortOption: CIOGroupsSortOption? = nil, variationsMap: CIOQueryVariationsMap? = nil, preFilterExpression: String? = nil)
Parameters
query
The user typed query to return results for
filters
The filters used to refine results
page
The page number of the results
perPage
The number of results per page to return
sortOption
The sort method/order for results
section
The section to return results from
hiddenFields
The list of hidden metadata fields to return
hiddenFacets
The list of hidden facest to return
groupsSortOption
The sort method/order for groups
preFilterExpression
The pre filter expression used to refine results