Skip to content


Repository files navigation

Search replaces the native Flarum search functionality which relies on MySQL badly performing fulltext search with one that is completely relying on the proven elasticsearch engine.


  • Sync discussions to elastic search using your queue, unobtrusively for the user.
  • Reduces search loading times to well below 400ms (local tests with 50.000 discussion 260ms)
  • Uses Flarum's group permissions and tags system.
  • Compatible with Friends of Flarum Byōbu.


Use composer:

composer require blomstra/search:*

Enable the extension inside the admin area and configure the settings.

Set up

Enable the extension in your admin area. Now to seed your existing discussions use the following command:

php flarum blomstra:search:index

All mutations to discussions are automatically added and removed from the elasticsearch index.


I have another question. Reach out to us via We will get back to you as soon as we can. If you have a running subscription please mention when you started your plan and/or which plan you are on. Always add sufficient information when reporting errors. We prefer errors being reported here, but understand that sometimes you can't.

Can I dispatch the sync jobs to another queue? Yes:

\Blomstra\Search\Observe\Job::$onQueue = 'sync';

Icon made by Freepik from Flaticon.