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

Reply via email to