Hello Guix, our bug tracker web interface at issues.guix.gnu.org could really benefit from a more reliable, faster search.
Currently, mumi (the application behind issues.guix.gnu.org) uses a slow interface to Debbugs, the bug tracker service that runs at debbugs.gnu.org. The search isn’t great as it returns duplicates and is paginated, which makes it unsuitable for processing. Mumi may need to further filter the search results by status or activity, or any other metric that the Debbugs search API doesn’t let us do. So I decided to switch away from using the Debbugs API and instead operate on a *local* copy of all messages that reach Debbugs. Debbugs operates on email messages, and luckily it allows us to download these original messages. Whenever someone visits an issue page, all related messages are downloaded by mumi, so it amasses a sizeable stash of emails over time. Mumi is using a modified version of “mu”, the mail indexer and search tool, to continuously index the contents of all messages. (“mu” is modified only so that the issue number is indexed alongside the message contents.) Unfortunately, that’s as far as I got before life intervened. The next step is really close, but getting there requires more contiguous segments of time than I can free at the moment. We really only need to do the following things next: 1) keep updating the mu database as new messages are stored 2) using the mu Guile bindings to search messages via mu instead of using the slow Debbugs API. While working on 2 we may find that more properties should be stored in the mu database, and that’s fine. Our variant of mu is easily patched to accomodate our needs. Does anyone here have an interest in playing with and improving mumi? It’s a very simple code base and it’s very easy to get started. The code is here: https://git.elephly.net/software/mumi.git -- Ricardo