blomstra / search
Replaces Flarum search with one powered by an elastic search server.
Installs: 4 194
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 6
Forks: 8
Open Issues: 6
Type:flarum-extension
pkg:composer/blomstra/search
Requires
- php: >= 8.0
 - elasticsearch/elasticsearch: 7.*
 - flarum/core: ^1.2.0
 - spatie/elasticsearch-query-builder: ^1.3.0
 
- dev-main
 - 0.1.19
 - 0.1.18
 - 0.1.17
 - 0.1.16
 - 0.1.15
 - 0.1.14
 - 0.1.13
 - 0.1.12
 - 0.1.11
 - 0.1.10
 - 0.1.9
 - 0.1.8
 - 0.1.7
 - 0.1.6
 - 0.1.5
 - 0.1.4
 - 0.1.3
 - 0.1.2
 - 0.1.1
 - 0.1.0
 - 0.0.21
 - 0.0.20
 - 0.0.19
 - 0.0.18
 - 0.0.17
 - 0.0.16
 - 0.0.15
 - 0.0.14
 - 0.0.13
 - 0.0.12
 - 0.0.11
 - 0.0.10
 - 0.0.9
 - 0.0.8
 - 0.0.7
 - 0.0.6
 - 0.0.5
 - 0.0.4
 - 0.0.3
 - 0.0.2
 - 0.0.1
 - dev-main-backup-20231018
 - dev-dk/search-improvements
 - dev-dk/partial
 - dev-dk/analyzer
 - dev-dk/nested
 
This package is auto-updated.
Last update: 2025-10-13 20:26:31 UTC
README
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.
Features
- 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.
 
Installation
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.
FAQ
I have another question. Reach out to us via https://helpdesk.blomstra.net. 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';
- Blomstra provides managed Flarum hosting.
 - https://blomstra.net
 - https://blomstra.community/t/ext-search