Subject: [bug#39258] [PATCH v2 0/3] Xapian for Guix package search

From: zimoun <[email-masked]>
Date: Mon, 9 Mar 2020 13:50:49 +0100

On Mon, 9 Mar 2020 at 08:42, Pierre Neidhardt <[email-masked]> wrote:
>
> Arun Isaac <[email-masked]> writes:
>
> >> I’m not sufficiently familiar with Xapian’s query language.  The
> >> examples I had in mind were:
> >> It’s not so much about regexps than it is about selecting individual
> >> fields.
> >
> > I have totally not tested this, but I imagine that equivalent Xapian
> > queries might look something like:
> >
> >>   guix search | recsel -p name -e 'license ~ "LGPL 3"'
> >
> > guix search license:LGPL3
> >
> >>   guix search crypto library | \
> >>     recsel -e '! (name ~ "^(ghc|perl|python|ruby)")' -p name,synopsis
> >
> > guix search crypto library AND (NOT ghc) AND (NOT perl) AND (NOT python)
> > AND (NOT ruby)
>
> Indeed, if you look at the notmuch-search-terms man page, you'll see
> that you can select fields.
> In my opinion, the recsel format is fully superseded by Xapian.

No!
Because implementing the "fields" using Xapian is not done and it is
not as straightforward as it seems.
For sure, Xapian could do a lot of thing. But we should move one step
after one step.

Let first focus on speed and accuracy. For example, the fact that
"guix search emacs" does not returns first the package 'emacs' using
Xapian is really an issue.

Cheers,
simon