Smart Search
Immich uses Postgres as its search database for both metadata and smart search.
Smart search is powered by the pgvecto.rs extension, utilizing machine learning models like CLIP to provide relevant search results. This allows for freeform searches without requiring specific keywords in the image or video metadata.
Advanced Search Filters
In addition, Immich offers advanced search functionality, allowing you to find specific content using customizable search filters. These filters include location, one or more faces, specific albums, and more. You can try out the search filters on the Demo site.
The filters smart search allows you to search by include:
- People
- Location
- Country
- State
- City
- Camera
- Make
- Model
- Date range
- File name or extension
- Media type
- Image (including live/motion photos)
- Video
- All
- Condition
- Not in any album
- Archived
- Favorited
- Computer
- Mobile
Some search examples:
Configuration
Navigating to Administration > Settings > Machine Learning Settings > Smart Search
will show the options available.
CLIP model
More powerful models can be used for more accurate search results, but are slower and can require more server resources. Check out the models here for more options!
Multilingual models are also available so users can search in their native language. These models support over 100 languages; the nllb
models in particular support 200.
Multilingual models are much slower and larger and perform slightly worse for English than English-only models. For this reason, only use them if you actually intend to search in a language besides English.
As a special case, the ViT-H-14-quickgelu__dfn5b
and ViT-H-14-378-quickgelu__dfn5b
models are excellent at many European languages despite not specifically being multilingual. They're very intensive regardless, however - especially the latter.
Once you've chosen a model, change this setting to the name of the model you chose. Be sure to re-run Smart Search on all assets after this change.
Feel free to make a feature request if there's a model you want to use that we don't currently support.