Subject: [bug#39258] Faster guix search using an sqlite cache

From: zimoun <[email-masked]>
Date: Tue, 11 Feb 2020 21:13:35 +0100

Hi Ludo,

On Tue, 11 Feb 2020 at 19:39, Ludovic Courtès <[email-masked]> wrote:

> > About performance, the idea was to first implement something with
> > sqlite and then see if it makes the difference. I mean I have
> > understood that.
>
> Yes.  But keep in mind that this package cache is used exclusively for
> package lookups by name.  Namely, the goal is to speed package lookup in

I agree that some confusion happens here. And this cache cannot be improved.

> >> However, using sqlite for keyword search as you initially proposed on
> >> guix-devel does sound like a great idea to me.
> >
> > If I understand correctly, you are proposing 2 caches, right?
> > Or are you proposing an inverted index (VHash/VList table) based on
> > trigrams to speed up the lookup?
>
> Arun started the discussion on guix-devel with the idea of an inverted
> index, and I thought this would become a second index (possibly
> implemented using SQLite).  Perhaps I misunderstood the discussion all
> along though, let me know!  :-)

Well, your suggestion is very welcome and 2 caches are required: one
for the lookup by name, as it is already (and does a good job);
another one for "guix search" speeds up, SQLite or whatever (based on
inverted index or whatever).

Thanks,
simon