Am 12.01.2018 um 14:29 schrieb Mark Feit:
A really, really good solution to this would be to dump all available
image metadata into a full-text indexer and allow the user to filter
using queries. Done right, it gives users immense flexibility and saves
having to write and maintain application-specific filtering infrastructure.
I've used Lucene to do similar things on several projects over the last
15 years, some indexing tens of millions of records, with a great deal
of success. It's fast, reasonably lightweight, solid, makes a very
small index relative to the corpus if you're not using it as a document
store and has a query language that can't be beat. Lucene supports
fields, which would allow search on specific attributes in addition to
free-form, Google-style queries. For example, a query to pull images
taken with a Nikon at ISOs up to 1000 taken during 2017, have five
stars, contain the word "green" (maybe as a result of having the green
label applied) and not containing the word "wedding" anywhere would look
like this:
maker:nikon iso:[0 TO 1000] createdate:[20170101 TO 20171231]
stars:5 green -wedding
The down side is that Lucene is written in Java,
[...]
this, would enable complex but powerful search patterns, indeed.
Nevertheless, I am not fully convinced that darktable requires such a
kind of feature. I am pretty sure that such complex search patterns
emerge from time to time. But for typical use cases the current
collection module is sufficient.
One has to evaluate the trade-offs of raising the code complexity by
adding a new search engine and gaining a (possibly not often used) new
feature. From a developer's point of view it is probably not desirable
to have two different search backends (the current + Lucene). In case,
that one really considers going into the direction of a full-text
indexer, darktable developers should evaluate xapian
(https://xapian.org/). It is written in C++ and released under GPL v2+,
which might be more suitable for darktable.
Heiko
--
-- Number Crunch Blog @ https://www.numbercrunch.de
-- Cluster Computing @ http://www.clustercomputing.de
-- Professional @ https://www.mpi-hd.mpg.de/personalhomes/bauke
-- Social Networking @ https://www.researchgate.net/profile/Heiko_Bauke
___________________________________________________________________________
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org