Rollup.shared.search(_:) returns: every result in order with what the index holds about it, the query as search read it, and how long it took.
String
The search as asked.
[SearchResult]
The results, most relevant first.
SearchPlan
How search read the query.
Double
Seconds for the whole search.
[String: Double]
Seconds for its parts, by name, such as
locationResolution, filtering, embedding and text.JSONValue?
What the index covers: counts, dates and media.
SearchPlan
String
semantic_search, location_search, date_search, capture_search or holiday_search.String
content, place, content_and_place, place_type, holiday or metadata.String
What was left to match images and text against once dates, media and places were read.
String
most_relevant or newest_first.JSONValue
The whole plan: the date, capture, location and place filters search applied, with its policies and counts.
SearchResult
String
The asset’s PhotoKit local identifier.
Date?
When it was taken.
TimeZone?
The time zone where it was taken.
MediaType
.photo, .video or .screenshot.Bool
Whether the person marked it as a favorite.
Location?
Where it was taken, as the on-device geography placed it.
[Label]
What it shows.
[Place]
The venue its visit resolved to. Empty when
places is off or no venue was resolved.[String]
Cuisines of its visit, on food photos.
String?
The text search matches against: sign text, text read from the preview, or a screenshot’s text.
Screenshot?
What was read from a screenshot.
Double?
The relevance model’s probability, for image matches.
String?
The words of the asset’s text that hold the query, for text matches.
Double?
Search’s score for this result.
Double?
The retrieval score before ranking.
Double?
How closely its place matched a place in the query.
[String]
Why it matched, such as
image, text or place.JSONValue?
The named places the result matched.
Location
String?
String?
String?
String?
String?
Double?
Double?
String
The neighborhood, city and country that are known, joined with commas.
Label
String
The label’s concept ID.
String
The label, such as
sushi or dog.Double?
A probability: Apple’s confidence, the dish model’s, or the learned selector’s.
Double?
The image model’s cosine similarity, for labels without a probability.
Place
String
The venue’s name.
String?
The venue’s category.
Double
How confident the place resolution is.
Screenshot
String
The kind of app the screenshot was taken in.
String
What the screenshot is about.
String
What the person was doing.
[String: Double]
Each field’s top probability, by field:
app_kind, topic and action.[String]
Kinds of sensitive content the screenshot holds.
String?
A date it shows, as
YYYY-MM-DD or --MM-DD, with THH:MM when a time was shown.String
How the shown date relates to when the screenshot was taken.
[Entity]
Entities Apple’s on-device model read, each with an
id, a type and a value.String
Whether entities were read, and if not, why.

