Skip to content

jritsema/photo-search

Repository files navigation

photo-search

An experimental project for creating a powerful search engine for a personal photo collection.

Most of the cloud providers are starting to provide these types of features, but, hey if you prefer to keep things local...plus Kibana is awesome.

Features

  • fast search (Elasticsearch + Kibana)
  • advanced search by tag (e.g., Disney+AnimalKingdom, Birthday+John)
  • search by people's faces in photos (assuming photos are properly tagged)
  • display image thumbnails in search results (Kibana)
  • search/display on map
  • statistics on camera usage

Usage

First, stand up an Elasticsearch/Kibana instance. You can run it in the cloud, install it yourself, or run it in docker on your laptop, or even on your raspberry pi.

$ docker-compose up

Next, index your photo collection by uploading the metadata into Elasticsearch. This requires exiftool to be installed.

$ node . --photodir /path/to/photos --hostandport es-instance:9200

Run a web server that can generate image thumbnails. This requires imagemagick to be installed.

$ node thumbnail-server.js /path/to/photos

Now, in Kibana, you can configure the "path" field in the "photos" index to be formatted as a URL using the Image type with the following Url Template.

http://ip-of-thumbnail-server:3000{{rawValue}}?dim=200x115

That's it. Now in Kibana, you can issue exhaustive metadata searches and display the matching images. Enjoy.

About

An experimental project for creating a powerful search engine for my personal photo collection

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published