Advanced Search for Discourse

Discourse searching certainly has all of the functionality you’d expect it to (searching by poster, age, recently-posted to lastly-posted, etc), but all of those are taken advantage of through keywords in the search bar. I haven’t been able to memorize them all yet, so I frequently find myself looking at the “Search Help” in order to find what I want.

The problem with this is that you don’t have access to the search bar while Search Help is open. The Discourse forum I use is only visible by members, so bots can’t index posts for a Google search, and I have to use the normal search bar. I might want to search for a post by a certain user, look up what the keyword is in Search Help, close search Help, find that I also want to search by order, have to look up what that keyword is, close Search Help, and repeat every time I search for something. This isn’t very plesant and it’s not very friendly to new users – it’d be nice if a normal search bar was placed on Search Help at the very least to save the need to repeatedly open/close Search Help, but new users would probably find an “Advanced Search” page most helpful. Here’s an example from the forum software I was previously using before switching to Discourse:

All of the search parameters are controlled through dropdowns and textboxes that are easy to interact with and there aren’t any keywords to memorize. Keywords are great for power users, but your average member might prefer a GUI over keywords (maybe turn the full page search into this?)


Autocomplete ala the at sign mentions would make more sense

You would still need to be at least somewhat familiar with the keywords in order to be able to type something that could be autocompleted. Keywords for the search bar aren’t just something new users are automatically good at, unlike a GUI search which can be used from the get-go. You already have the power users taken care of with the search keywords – where the search is lacking is casual and new users, and autocomplete won’t help that demographic.

No, I don’t think so – try Slack search to see what I mean.


Ah, I see what you mean:

Yes, with this, someone like myself could use the searchbar with ease even never having used it before. Remember what Slack is for though – while it can be used by any sort of team, the companies who use it consist mostly of those involved in design and/or computing. Designers in any field are perceptive and keep up-to-date with society’s latest trends in order to understand their customers and beat out the competition. Designers(who are quick to adapt and learn) and programmers (who are obviously familiar with this kind of stuff) have no trouble using keywords for searching.

But Discourse isn’t Slack – it has a much more diverse demographic. This demographic includes people who aren’t as tech savvy, and while they may be able to use keywords for searching immediately after joining the site, searching with a command-line-esque interface and keywords will seem much more intimidating to them than a GUI search like the Kunena advanced search page I posted a screenshot of in the original post.


See also

As I mentioned in the original post, the Discourse forum I’m using is visible exclusively to members, so none of the posts are indexed to be shown in Google search results.

I mean “Here, look at how Google makes a nice UI for refining search results” not “Just use Google” :smiley:


Oh, now that makes sense. Google also has an advanced search page for when those aren’t enough, and I’d imagine Google doesn’t mess around with features and does their research. If Google has an advanced search page and those dropdowns below the search bar, I’d imagine they concluded that keywords didn’t satisfy their entire demographic.

Here’s another nice example:


That’s a pretty “help” box, but IME regular users expect a GUI. The “help” is only really of help to someone who’s already familiar with this sort of text-based interface. eg.

“In Windows, you use DIR instead of LS”
“Thanks for the help! Where do I click on DIR?”

The search box should not just be a command line (powerful as that can be). There should be a functionally equivalent way of composing advanced searches without having to write weird stuff that looks like scary computer code. This is a solved problem:

I know Discourse has an aversion to screens full of widgets, but this sort of thing works and all the options are laid out at a glance. I’m certain that the graphic design can be greatly improved at the very least :slight_smile:

1 Like

The problem with screens like that is they are very rarely used, and a screen full of giant boxes and options is quite intimidating. Nobody wlll use it.

Whereas a Just In Time box that explains what to do as you type, teaches people just what they need, at the exact time they need it – without resorting to a complicated, overwhelming screen full of options that people have to find and process. Lots of thinking and effort involved.

I agree they are not mutually exclusive, you can have both, but it’s quite clear if you do anything with UX that a screen full of checkboxes and textboxes and forms to fill out and text to read … is a really painful way to go. We won’t be building that first. Sorry. Priorities…


I have long been confused by the Discourse search box “options” tab, which I expected to function as the “advanced search” in vBulletin, and provide GUI options to narrow the search. “Help” would be a less confusing term, IMHO. Sure, if you’re using a mouse, you click on it and see a help menu, but if (like me) you’re a keyboarder, it doesn’t work like that.

Use / to open the search box.
Type in your search term.
Tab to “Options” in the mistaken belief that this is not a help menu.

Even though the focus is apparently on the “options” link, It doesn’t open; instead, Discourse executes the search.

I had no idea there even was a search help menu until @cpradio enlightened me a few days ago.

1 Like

Intersting. Just for the record:

If you do not have any search terms entered, tabbing to Options and pressing Enter works

Once you enter at least one term, enter will switch to full page search.


OK, this sounds great!

But I’m a bit confused. Does Discourse offer any kind of advanced search at this point in time? If not, any idea when your great “Just In Time” search will be available?

One more question while I’m here: Is there any way to edit the Search Options screen? We have just installed the Tags plugin, but the Option screen need to be changed to add the “tag:mytag” option.