Four moving parts, what each one does, and how a photo becomes searchable.
Four moving parts: the app on your phone, the copy of the index it keeps on the phone, Opensolr, and the phone's own Opensolr Index. This page says what each does, with links to the details.
Figure 1 — how a photo becomes searchable.
01 · The four parts
The app
Finds photos in your folders, reads their camera details, finds and compares faces, makes the small copy Opensolr reads, and runs the sync in the background. It never writes your words into a photo file. See sync.
The phone's copy of the index
Everything the index holds but the vector and the keys for similar photos. Browsing, Stats, the tag suggestions and the comparison a sync makes are answered from it. See the phone's copy.
Opensolr
opensolr.com signs you in and manages your account and index. api.opensolr.com reads each photo, its words and printed text, works out its place, makes its vector, and writes the document into your index; it also runs a search by meaning. See every call it makes.
The phone's index
A regular Opensolr Index in your account, with the app's own schema. It answers typed searches, filters, similar photos and the map. See the phone's index.
Besides Opensolr, the app reaches only GitHub and OpenStreetMap, carrying nothing about you or your photos: api.github.com, to ask whether a newer version exists, github.com, to download one when you tap to install it, and tile.openstreetmap.org, for the map tiles while the map screen is open.
02 · Where each piece of data lives
Figure 2 — where each piece of data lives. The arrows cross the edge of the phone only for the few things that still go over the network.
03 · The life of one photo
You take a photo; the camera saves it in DCIM/Camera/.
Soon after, a sync finds it, gives it its id and sees it is not in the phone's copy of the index. Nothing is asked of the index for this. See when a sync runs.
The app reads its camera details, finds its faces, and makes the 1024 px copy.
photos_ingest, five photos per call, does the rest on Opensolr's side: the words it is read into, the text printed in it, its place, its search vector, and the write into your index.
The answer goes into the phone's copy, and the photo appears in search about ten seconds after the write.
You tag it. The save is finished on the phone; the sync right after carries the words up through photos_words, and Opensolr makes the vector again from them.
You edit the picture; the next sync sees the file changed and has it read again.
You delete it; the next sync deletes its document from the index and from the copy.
On a plan without vector search, step 4 reads nothing: the photo is written with its date, camera, place, file name and your words. See without photo recognition.
Opensolr Photos is open source and MIT licensed. Questions about your Opensolr account, index or plan go to
opensolr.com/contact; questions about the app itself belong on
GitHub.