Subject: Re: [PATCH v2 0/3] Xapian for Guix package search

From: Ludovic Courtès <[email-masked]>
Date: Mon, 09 Mar 2020 11:28:55 +0100

Hello,

Pierre Neidhardt <[email-masked]> skribis:

> Ludovic Courtès <[email-masked]> writes:
>
>> Yeah.  I think we need to take the whole user experience into account,
>> not just ‘guix search’.  ‘guix pull’ already feels very slow, and it’s a
>> fairly common operation.  Conversely, ‘guix search’ takes roughly
>> between 0.5 and 2 seconds and is an uncommon operation on a “slow path”
>> (in the sense that when you’re searching for software, you’ll probably
>> have to spend more than a couple of seconds to find what you’re looking
>> for.)
>
> I think I disagree with "guix search" being an uncommon operation and a
> slow path.

(Not “and” but “on” a slow path.)

> - The slowness of `guix search' (and the awkwardness of recutils) is
>   maybe what makes it uncommon: users refrain from using it because it's
>   too impractical.

I think “slowness” and “awkwardness” are overstatements.  I’m not saying
this is perfect, but to me it’s not bad.  (Of course I’m biased :-), but
I’ve used other similar tools and this one looks rather good compared to
what I’ve used.)

> - Searches are typically refined, i.e. you run a search multiple times
>   by precising the terms, so in that sense I believe `guix search` is a
>   very common operation.  Or should be.
>
> Anyways, one of the key issues here is the inherent limitation of the
> shell interface that does not allow us to directly and contextually
> process the output of a command (at least not without rerunning it).

I agree, but ‘guix search’ is a shell command, so we have to adapt to
that context.

> Concretely, the GUI search would only return the package name, version
> and synopses.  No need for the Texinfo / recutils juggling.
>
> Then the user would select the packages of interest to display more
> details.  This allows us to query the full details just-in-time.

Note that Emacs-Guix does that, although it doesn’t use the search
facility of (guix ui) with relevance metrics.

> Back to the topic: I believe that Xapian is a huge win both for the
> shell and the future GUI :)

It could be, but we need to consider all the aspects of the story,
including the maintenance cost and overhead moved to ‘guix pull’.  So
it’s not so much about “beliefs” at this point, but rather about
demonstrating what can be done, and I’m glad Arun is exploring that
space!

Ludo’.