Opened 6 years ago

Closed 6 years ago

#13422 closed enhancement (implemented)

Extend search parameter to accept advanced search terms

Reported by: karsten Owned by:
Priority: Medium Milestone:
Component: Metrics/Onionoo Version:
Severity: Keywords:
Cc: Sebastian Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


The current default way for searching relays or bridges is to provide one or more space-separated search terms to the search parameter. These strings are then matched against a few fields like nickname, fingerprint, and IP address.

Here's a suggestion to make searches more powerful: users could provide search terms with additional qualifiers, like "nickname:gabelmoo" or "country:de" in addition to (unqualified) search terms like "" which they're providing right now. That would enable advanced users to narrow down results, and it would enable them to search more fields without Onionoo clients like Atlas/Globe having to change the user interface.

This might only require a minor protocol change, because I currently don't see how this would change existing behavior. But I'm not sure yet.

Child Tickets

Change History (1)

comment:1 Changed 6 years ago by karsten

Resolution: implemented
Status: newclosed

I went ahead and implemented this feature, because it looked really easy and pretty useful.

One thing I did differently than in the description above was that I didn't add new qualifiers for non-existent parameters like "nickname:gabelmoo". If somebody wants to search for nickname "gabelmoo" they can just use the unqualified search term "gabelmoo". Though the main reason behind this decision was that the "fingerprint" parameter works quite differently from fingerprints in the search parameter. As a result, "fingerprint:abcdef0123" is not a valid search term either, but users should just keep using "abcdef0123".

I still think this is a minor protocol change, because no current behavior is changed. That's why I raised the protocol version to 1.2.

Merged to master and deployed. It's already usable in Atlas/Globe. Closing.

Note: See TracTickets for help on using tickets.