Query
public struct Query : InternetArchiveURLStringProtocol
The main structure for defining search queries.
It can be created with key: value
pairs like ["collection": "etree"]
or an array of query clauses.
The output is a URL string, such as "collection:(etree) AND -title:(foo)"
in asURLString
.
Basic Usage:
// generate a query for items in the etree collection
let query = InternetArchive.Query(clauses: ["collection": "etree"])
// generate a query for items not in the etree collection
let query = InternetArchive.Query(clauses: ["-collection": "etree"])
// generate a query for any field with a value of etree
let query = InternetArchive.Query(clauses: ["": "etree"])
Advanced Usage:
let clause1 = InternetArchive.QueryClause(field: "title", value: "String Cheese", booleanOperator: .and)
let clause2 = InternetArchive.QueryClause(field: "foo", value: "bar", booleanOperator: .not)
let dateInterval = DateInterval(start: startDate, end: endDate)
let dateRangeClause = InternetArchive.QueryDateRange(queryField: "date", dateRange: dateInterval)
let query = InternetArchive.Query(clauses: [clause1, clause2, dateRangeClause, sortField])
-
Declaration
Swift
public var clauses: [InternetArchiveQueryClauseProtocol]
-
Declaration
Swift
public var asURLString: String { get }
-
Declaration
Swift
public init(clauses: [String : String])
-
Declaration
Swift
public init(clauses: [InternetArchiveQueryClauseProtocol])