What Opensolr Photos is

What the app does, what it deliberately does not do, and who it is for.

The six problems it was written for.

1. Your photos were going to Google — here the library never leaves your folders, and there is no backup, no Google account, no ads and no analytics. 2. Twenty thousand photos and no way to find one — type what you remember. 3. The receipt your accountant asks for — found by the shop, the total or the number printed on it, and shared from the app. 4. Your metadata is yours — people, places, tags and your wording are kept in an Opensolr Index on your own account, plain Apache Solr you can query, export and take anywhere, not in someone else's private database. 5. The same picture thirty times — one slider from “the same thing” to “the same file, byte for byte”. 6. Nothing to take on trust — every line is on GitHub under MIT, and it runs on a free Opensolr account that does not expire.

Opensolr Photos answers one question well: where is that photo? You type what you remember — dog on the beach, birthday cake, the name of a friend, the total on a receipt — and the app shows the photos on your phone that match.

A copy of the index on the phone

The phone keeps its own copy of every document its index holds — everything except the search vector and the duplicate keys. It is read from the index once, at install or reinstall, and kept in step by every write after that. Plain browsing — no words typed, no filters — asks the server for nothing, a sync with nothing to do asks for nothing, and tag and name suggestions, and the list of what the selected photos already carry, are answered from the phone.

Browsing by date

Today, Yesterday and the last few days sit above the years; below them the grid goes Year, then Month, then Day. Every month is spelled out by its days, even a month with a single day. Headings fold away, and how you left them is remembered.

Search by meaning

On a plan with vector search every photo is read into words describing what it shows, and your words are matched on meaning too, so puppy finds the photos read as dog. Without vector search on the plan no photo is sent to be read: photos are indexed by date, camera, place, file name and your own words, and search is lexical.

OCR

On a plan with vector search the words printed in a photo — a receipt, an invoice, a label, a screenshot — are read and searchable. Switch the OCR filter on to see only those photos. Without vector search on the plan nothing is sent to be read, so there is no printed text to search.

People

Name the people on one photo or many at once, with your names suggested, or let the app read the names other apps wrote on the files. Search and filter by person; a small person mark shows on every photo with someone named on it.

Filters from your own photos

The filter screen carries the same headings as the grid, in groups that fold. All are folded when you open it, each shows a badge with how many of its own filters are on, and how you left them is remembered. Year and any two days, OCR, what a photo shows, Tagged, Has people, Has location, your tags, people, city, country, camera model, orientation and a radius around a point. Choosing years narrows the Taken between calendar to those years and opens it there. Every choice offered has photos behind it.

Selecting photos

A long press starts a selection, and it ends by itself when the last tick goes. A tick on a year, a month or a day heading takes the whole group, not only the photos loaded on screen. In a text search the Best matches and Also similar headings have no tick, because their boundary moves as more results arrive.

Your own tags and words, saved in your own index

Tag a photo or a whole selection, and change the words that describe a photo. The save is finished on the phone, and the sync that starts straight after carries it up to your Opensolr Index: plain Apache Solr on your account, yours to query, export or take anywhere, and where a new phone reads them back. Your words always win over what Opensolr saw.

Tagging many photos at once

My tags (Albums), with an Add or Replace switch: Add puts your words on top of what each photo already carries, Replace makes them the whole of that field on every ticked photo. Underneath, the people and tags the ticked photos already carry, with counts. People are not typed here: they go on a photo by naming a face.

Autocomplete and spelling

As you type, the words your photos were read into, the cameras and the places are offered; a misspelt search gets a Did you mean.

Stats

Your library in numbers, counted on the phone: photos per year, month, weekday and hour, and the people, tags, things, places and cameras, each a chart with its table. Tap a line to open those photos.

Duplicates

Group alike photos, from the same subject to the same shot or the same file, and pick one of each to share, delete or re-sync.

Your photos on a map

Every photo with a GPS position, grouped into markers on an OpenStreetMap map. Tapping a group opens its photos straight away instead of zooming in step by step, and the sheet of photos drags up to the whole screen. The map also says where here is, city and country, and you can search the area you are looking at.

A photo's details

The people first, as chips, then My tags (Albums), then what the photo shows as plain text.

Swipe through what you found

Tap a result and it fills the screen, and a swipe walks the photos you searched for rather than your camera roll. Every action of the photo sits under it: tag, gallery, similar, share, map, nearby, delete.

Keeps itself in step

A sync runs on its own a minute after your photos change, plus a daily, weekly or monthly Re-Sync as a safety net; pulling the grid down reloads it and starts a sync too. A sync compares the folders on your phone against the phone's own copy of the index, so a sync with nothing to do costs nothing. New photos are added, edited photos are read again, deleted photos leave the index. Re-read sends every photo through again without emptying anything, Documents reads the paperwork again on its own, and Reset empties it and starts over when the app says the index configuration changed.

Search you can tune

A Semantic ↔ Lexical slider on the account screen, and an AI switch next to the results.

An index that is yours

One Opensolr Index per phone, in your own account, with a copy of it on the phone itself. You can open it in the control panel, back it up or empty it.

Plan limits in plain numbers

Right after sign-in, and on the account screen: photos per month, disk space, search bandwidth and indexes.

01 · What it deliberately does not do
  • It is not a backup. Your photos are not copied anywhere. The index holds descriptions of them, never the pictures.
  • It is not a gallery replacement. Viewing and editing stay in the gallery app you already use; the app finds, and shares or deletes the photos you select.
  • It does not change your pictures. It never writes to a photo file; your tags, names and wording are kept on the phone and in your index. It deletes a photo only when you ask, after its own warning.
  • It does not track you. No analytics, no advertising, no crash reporting, no third-party SDK that talks to the network. The app talks to Opensolr, and to OpenStreetMap only for the tiles of the map screen when you open it.
  • It does not need a Google account. Sign-in is your Opensolr account, in your browser.
  • It reads the text printed in a photo, but not barcodes. On a plan with vector search a photo is described by what it shows, and when it carries printed words — a receipt, an invoice, a shelf label, a screenshot — those words are read too and become searchable, so the receipt is found by the station or its total and not only as “a receipt”. Without vector search on the plan no photo is sent to be read at all: photos are indexed by date, camera, place, file name and your own words, and search is lexical. Barcodes and QR codes are never decoded.
02 · Who it is for

Anyone with more photos on their phone than they can scroll through, who would rather search them than hand them to a cloud photo service. And developers who want to see a complete, working example of an Android app built on an Opensolr Index: sign-in, provisioning, bulk indexing with vectors, hybrid search — all of it open source.

How the pieces fit together

How it works explains the app, Opensolr and your index in one page, and the project structure takes a developer through the code.

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.

Opensolr Photos Documentation