Sphinx search for Discourse

I see the issue as being the lack of excerpts, not the results pane being too small.


This looks like a better idea and style wise could be integrated well =)

You don’t think “lack of excerpts” and “results pane being small” are related? Maybe a little?

I still encourage giving the option to use Sphinx Search.

Vbulletin 5.x even though in beta, their new software is using Sphinx, VB 4.x didn’t have it and the quality of search wasn’t fast nor great. Many had to use a 3rd party plugin to use it, it is also very light on servers. Vb learned its lesson though, because of the many complains coming from big forums with thousands of topics.

What problem is this going to solve exactly? Search is fast enough on Discourse.

Well, we haven’t tried to use Discourse on big active boards. But I am a believer in using what is best out there instead of using what is just working nicely. If something is popular and known to be the best out there, then I would always use it.

Adding a dependency on Sphinx doesn’t seem necessary to me. Our complaint-driven development process hasn’t found that postgresql’s search is lacking. Sphinx is nice, but using it and maintaining it has a cost (search config, managing sphinx processes, re-indexing after deploys, etc.).


That is exactly what we’ve started with our search results as a route plugin

We’ve also added categories as facets on the left:

There’s an extra link top right in todays search results to go to the serp:

It works so far incl sorting, but UI is still pretty rough.
Any thoughts?


1 Like

I use a Sphinx plugin for vb 4.x and it wasn’t complicated to install server side, then install the plugin and run re-index. Then after that, everything ran on its own. I haven’t tested Vb 5.x though which comes already with it.

It might not be urgent to use it atm but it is a very nice and essential feature in my opinion for Discourse. Many webmasters love to use Sphinx search because they know how powerfull and light it is when it comes to indexing millions of data and searching.

Others love Elasticsearch, or Solr, or Google Sitesearch - plugin territory, I guess.


But why? How is postgresql’s search failing us?


You can’t compare MySQL based boards where search is slow and painful to Discourse. One of the reasons it uses Postgresql is to work around those limitations.

It is not failing for now, they’re just a better option to consider in the future.

Is discourse being built to be a unique forum experience with innovation and great features that other forum software might lack or is it built just to handle sharing, communication, and discussion in a different way?

I’ve created several topics about Discourse on VB and XF because i was impressed with its simplicity and its strive for innovation which is something that drove me toward looking at. Vb has many features and probably that is why many were like “it looks nice and ok… well… but not for big discussions” - that was many people first impression.

I still like Discourse for its simplicity and I want it to see it better and unique : ) i believe it has a great future.

Well yes, certainly not for VB 4.x because that is what they used (horrible approach) but with Vb 5.x where they started to use Sphnix, it was a better move.

In an interesting turn of events, adding a dependency to something like lucene or sphinx is now not really a huge deal - now that we use Docker for deployment.

That said, full page results must come first, we need to continue refining pg, till we strongly believe it is just too limited for our purposes.

There is a whole unexplored vector (pg_trgm) that needs testing first. I don’t see any reason to jump off the bus before we

  1. Come to a strong understanding of the limitations of the bus
  2. Agree that the bus is too limited

This is technology push that’s (currently) without benefits. It adds complexity and will be limiting to adoption.
First identity the problem, then look for tools to solve it. Not the other way around.

Don’t get me wrong, I really love Sphinx, and use it in several large projects.


Full page search is really needed. I was looking for something here and I couldn’t even tell when a topic / post was made. Almost everything was pretty old, and I suspect there’s more out there, but the limited results and information about the search was very frustrating.

Until we have that, try Sam’s little hack for now



We created a plugin for full page search results: GitHub - www2014/discourse_advanced_search - you’re welcome to contribute


Thanks. I noticed this the other day, and suggested that we try it out. I’m not an admin, so that’s as far as I can go.

Now my discourse bookmark is:


Because no one is as cool as me :smile:

1 Like