|Summary||Discourse Algolia Search integrates Algolia with Discourse search.|
|Install Guide||How to install plugins in Discourse|
I’ve recently created a plugin that indexes topics, posts, users and tags with Algolia and combines them into a multi-category autocomplete search. Here’s a GIF of how it works, and you can try it live right now on the Algolia Community Discourse.
You can find the Github repository, complete with installation instructions, on github at algolia/discourse-algolia.
Plugin configuration just requires populating a few fields. Indexing tasks are put in the jobs queue after objects are saved. Note: you will need to create an Algolia account, which is free up to 10,000 records. (Disclaimer: I work at Algolia.)
Q: Does this replace the default Discourse search?
A: Only if you want it to, and right now only for the autocomplete in the header. The full search page is still reachable by hitting the enter key without a search result selected, or by using the “advanced search” link in the autocomplete footer. I say “only if you want it to” because you can enable indexing to Algolia but not affect the UI or existing Discourse search in any way - that’s why there are two checkboxes in the plugin settings. If you’re just doing indexing, you can search the data in your Algolia dashboard to see how it’s working.
Q: Do I have to pay to use the plugin?
A: It depends on how much data you have. If you have less than 1k posts, you should fit into Algolia’s free Community Plan, which gives you 10k records. A good rule of thumb is that you’ll need 10 Algolia records for each post, as posts are split up into-paragraph size chunks for optimum relevance and speed. Still, YMMV. If you’d like to use the plugin but have concerns about the cost, just send me an email and I’ll see what we can do. If you are an open source project or a non-profit, you may quality for higher limits, just fill out this form and mention Discourse.
It should fix the bug where the search box stopped working after multiple page loads. NOTE: the plugin needs the very latest version of Discourse to work
The plugin is now using Discourse scss variables, and will now work correctly in Dark mode
Fixed a bug where user search was leading to /users instead of /u and would result in a 404. NOTE: You will need to reindex users for this to work correctly
Fxed an alignment issue of the searchbox
Applied various coding standards
Removed part of the jquery usage
Searchbox should be slightly faster, as it’s now tied to rendering instead of arbitrary 100ms wait (also removed the forbidden setTimeout usage)
#pr-welcome for the following tasks:
- update algolia-search (js)
- update algolia-autocomplete (js)
- update algoliasearch (ruby)
This would ensure we are not deprecated in the future and allow to import libraries instead of having it in global namespace.