Meilisearch seems have much more suporter and users. It is maintained and updated actively. I feel it is more reliable and scalable.

Meilisearch is great. It really "fixed" the default Flarum search. Unfortunately all these solutions require some additional computations and are not supported on a shared hosting, so I used it on a DigitalOcean droplet but that added expenses to my little forum where people admitted they almost didn't use search at all, so I disabled it. But I can wholeheartedly recommend this extension with Meilisearch 👍🏻

23 days later

Version 0.3.0

  • Added extender to allow other extensions to add data to existing indexes.
  • Extensions can also make any Eloquent model compatible with Scout just by using the extender (and writing the appropriate full text gambit to fetch results from Scout).
  • Allowed customization of the number of search results requested from the search engine, if not specified, it will be 200 for Meilisearch and null for other engines to fall back to their own defaults.
  • Allowed usage of asynchronous queues to sync indexes, use new setting in admin to enable.
  • Fixed post index not being removed on discussion delete (would not cause problems, but creates a lot of stale records after a while).
  • All CLI commands can now be called with the native Eloquent model path instead of alternative model names, just like in Laravel.

You probably don't need to rebuild your indexes, their format has not changed. Check the README for the list of commands if needed.

This is a major update. You need to run composer require clarkwinkelmann/flarum-ext-scout to upgrade (update will not work unless you set the requirement to * which I do not recommend for this experimental extension)

Developers can read the documentation in the README file to integrate their own extensions with the index. Currently only my closed-source Formulaire extension uses the extender. Over the next few weeks, most of the Flamarkt extensions will get Scout support and can serve as implementation examples.

15 days later

Version 0.3.1

  • Fix errors if an extension with Scout integration is installed but Scout is disabled. The event listeners would still be set and cause 500 errors when creating or updating compatible resources.

Version 0.3.2

  • Add new setting to override Search.MIN_SEARCH_LEN, the minimum query length Flarum requires before retrieving suggestions as you type. This does not affect the complete results page which will always work with any query length.

You must clear the cache after changing the setting. No additional javascript is inserted in the forum bundle if the feature is not used.

9 days later

Hello, I have two sites A and B, deployed on the same server as Meilisearch,
A and B use the same MeilisearchAPI key but different Index name prefixes. A few days later, site A is unable to post. The reason is found to be Scout search. But site B is fine.
In the past two days, I have installed Post Stream Search, GB Password Strength, FoF Pretty Mail, and Confix Theme. I don’t know if it’s related to these

POST https://demo.gitzaai.com/api/discussions

Symfony\Component\HttpClient\Exception\InvalidArgumentException: Invalid URL: scheme is missing in "//127.0.0.1:7700/indexes/meili_flarumposts/documents?primaryKey=id". Did you forget to add "http(s)://"? in /home/wwwroot/demo.gitzaai.com/vendor/symfony/http-client/HttpClientTrait.php:449
Stack trace:
#0 /home/wwwroot/demo.gitzaai.com/vendor/symfony/http-client/HttpClientTrait.php(173): Symfony\Component\HttpClient\CurlHttpClient::resolveUrl()
#1 /home/wwwroot/demo.gitzaai.com/vendor/symfony/http-client/CurlHttpClient.php(89): Symfony\Component\HttpClient\CurlHttpClient::prepareRequest()
#2 /home/wwwroot/demo.gitzaai.com/vendor/symfony/http-client/Psr18Client.php(95): Symfony\Component\HttpClient\CurlHttpClient->request()
#3 /home/wwwroot/demo.gitzaai.com/vendor/meilisearch/meilisearch-php/src/Http/Client.php(162): Symfony\Component\HttpClient\Psr18Client->sendRequest()
#4 /home/wwwroot/demo.gitzaai.com/vendor/meilisearch/meilisearch-php/src/Http/Client.php(99): 

    come2mejk check the Host value for Meilli in your admin area for the site throwing the error. It seems not the full URL was copied over; //127.0.0.1 should be http://127.0.0.1.

    2 months later

    Version 0.3.3

    • Send all quotes verbatim to the Scout driver to fix exact matching syntax (tested with Meilisearch)

    You might no longer be able to use quotes in search fields that don't integrate with Scout, since those will also be sent verbatim to MySQL with this change.

    3 months later

    Search cannot be used normally after Flarum is upgraded to 1.7.2

    Flarum core: 1.7.2
    PHP version: 8.0.25
    MySQL version: 5.7.39-log
    Loaded extensions: Core, date, libxml, openssl, pcre, sqlite3, zlib, bcmath, ctype, curl, dom, filter, ftp, gd, gettext, hash, iconv, intl, json, mbstring, SPL, session, pcntl, standard, PDO, mysqlnd, pdo_sqlite, Phar, posix, Reflection, pdo_mysql, shmop, SimpleXML, soap, sockets, sodium, mysqli, sysvsem, tokenizer, xml, xmlreader, xmlwriter, zip, fileinfo, redis, exif, Zend OPcache
    +------------------------------------------+-----------------+--------+
    | Flarum Extensions                        |                 |        |
    +------------------------------------------+-----------------+--------+
    | ID                                       | Version         | Commit |
    +------------------------------------------+-----------------+--------+
    | flarum-flags                             | v1.7.0          |        |
    | flarum-approval                          | v1.7.0          |        |
    | askvortsov-auto-moderator                | v0.1.2          |        |
    | flarum-likes                             | v1.7.0          |        |
    | flarum-suspend                           | v1.7.0          |        |
    | flarum-subscriptions                     | v1.7.0          |        |
    | flarum-tags                              | v1.7.1          |        |
    | antoinefr-money                          | v1.3.0          |        |
    | flarum-sticky                            | v1.7.0          |        |
    | flarum-bbcode                            | v1.7.0          |        |
    | afrux-forum-widgets-core                 | v0.1.7          |        |
    | fof-user-directory                       | 1.2.3           |        |
    | fof-follow-tags                          | 1.1.7           |        |
    | flarum-nicknames                         | v1.7.0          |        |
    | fof-pages                                | 1.0.5           |        |
    | fof-oauth                                | 1.3.0           |        |
    | fof-byobu                                | 1.2.0           |        |
    | ianm-level-ranks                         | 1.1.0           |        |
    | flarum-markdown                          | v1.7.0          |        |
    | ziiven-money-transfer                    | v0.2.5          |        |
    | ziiven-money-leaderboard                 | v0.1.4          |        |
    | ziiven-daily-check-in                    | v0.3.7          |        |
    | v17development-user-badges               | v1.1.0          |        |
    | v17development-seo                       | v1.8.0          |        |
    | tohsakarat-tags-filter                   | v1.0.3          |        |
    | the-turk-stickiest                       | 3.0.1           |        |
    | the-turk-flamoji                         | 1.0.4           |        |
    | the-turk-diff                            | 1.1.2           |        |
    | sycho-profile-cover                      | v1.3.3          |        |
    | pipecraft-id-slug                        | v1.1.0          |        |
    | pattinsonfuture-lang-traditional-chinese | 1.0.2           |        |
    | nearata-twofactor                        | v2.1.1          |        |
    | nearata-embed-video                      | v3.2.1          |        |
    | nearata-cakeday                          | v2.1.0          |        |
    | littlecxm-reply-to-see                   | 1.0.2           |        |
    | kindyear-acgembed                        | v1.0.0          |        |
    | justoverclock-hot-discussions            | 0.1.2           |        |
    | justoverclock-discussion-info            | 0.1.5           |        |
    | justoverclock-custom-html-widget         | 0.1.4           |        |
    | justoverclock-auto-post-count-badge      | 0.2.0           |        |
    | ianm-follow-users                        | 1.3.0           |        |
    | glowingblue-password-strength            | 3.1.0           |        |
    | fof-username-request                     | 1.1.2           |        |
    | fof-user-bio                             | 1.1.1           |        |
    | fof-upload                               | 1.2.3           |        |
    | fof-terms                                | 1.2.1           |        |
    | fof-split                                | 1.1.0           |        |
    | fof-socialprofile                        | 1.1.5           |        |
    | fof-sitemap                              | 2.0.1           |        |
    | fof-share-social                         | 1.1.2           |        |
    | fof-recaptcha                            | 1.1.1           |        |
    | fof-profile-image-crop                   | 1.1.1           |        |
    | fof-prevent-necrobumping                 | 1.1.1           |        |
    | fof-pretty-mail                          | 1.1.1           |        |
    | fof-polls                                | 1.3.0           |        |
    | fof-nightmode                            | 1.5.1           |        |
    | fof-moderator-notes                      | 1.2.0           |        |
    | fof-merge-discussions                    | 1.3.1           |        |
    | fof-links                                | 1.1.3           |        |
    | fof-linguist                             | 1.1.1           |        |
    | fof-ignore-users                         | 1.2.0           |        |
    | fof-formatting                           | 1.0.3           |        |
    | fof-filter                               | 1.1.2           |        |
    | fof-drafts                               | 1.2.2           |        |
    | fof-default-user-preferences             | 1.2.0           |        |
    | fof-cookie-consent                       | 1.1.1           |        |
    | fof-best-answer                          | 1.2.5           |        |
    | flarumite-simple-discussion-views        | 1.1.6           |        |
    | flarum-statistics                        | v1.7.0          |        |
    | flarum-package-manager                   | v1.0.0-beta.1.1 |        |
    | flarum-mentions                          | v1.7.0          |        |
    | flarum-lock                              | v1.7.0          |        |
    | flarum-lang-english                      | v1.7.0          |        |
    | flarum-lang-chinese-simplified           | v1.1.1.1220     |        |
    | ffans-clipboardjs                        | v1.0.0          |        |
    | datlechin-usercard-uid                   | v0.1.1          |        |
    | darkle-fancybox                          | 1.1.2           |        |
    | clarkwinkelmann-scout                    | 0.3.3           |        |
    | clarkwinkelmann-post-bookmarks           | 1.0.0           |        |
    | clarkwinkelmann-money-to-all             | 1.0.0           |        |
    | clarkwinkelmann-money-rewards            | 1.0.0           |        |
    | clarkwinkelmann-circle-groups            | 1.0.1           |        |
    | clarkwinkelmann-author-change            | 1.0.3           |        |
    | blessing-oauth-client                    | v2.0.2          |        |
    | askvortsov-rich-text                     | v2.1.7          |        |
    | askvortsov-moderator-warnings            | v0.6.1          |        |
    | askvortsov-markdown-tables               | v1.2.1          |        |
    | askvortsov-discussion-templates          | v0.8.3          |        |
    | akr-chevereto                            | 1.0.1           |        |
    | afrux-top-posters-widget                 | v0.1.4          |        |
    | afrux-online-users-widget                | v0.1.6          |        |
    | afrux-news-widget                        | v0.1.1          |        |
    | afrux-forum-stats-widget                 | dev-main        |        |
    | acpl-mobile-tab                          | 1.1.1           |        |
    +------------------------------------------+-----------------+--------+
    Base URL: https:
    Installation path: 
    Queue driver: redis
    Session driver: redis (Code override. Configured to file)
    Scheduler status: Active
    Mail driver: smtp
    Debug mode: off

      allen13 please describe what happens. Is there an error? Do you get empty results for all queries? Which scout driver are you using and if using Meilisearch, which version are you using and where is it hosted?

      If you don't select a driver in the Scout extension settings it's expected that no query will return any result.

        allen13 without a detailed explanation of the problem there's nothing I can do. I have zero idea what you are experiencing. Please see my questions from the previous message and if disabling some extensions helped please also list the name of those extensions.

        15 days later

        How to rebuild index?
        The forum uses meilisearch. I upgraded meilisearch to 1.1.1 and cleared the previous data of meilisearch. The flarum version and plug-ins have all been upgraded to the latest version. Now I can't rebuild the index. I can execute "php flarum scout:import-all', and some information is returned,

        /var/www/html/flarum # php flarum scout:import-all 
        Imported [Flarum\Discussion\Discussion] models up to ID: 2
        All [Flarum\Discussion\Discussion] records have been imported.
        Imported [Flarum\Post\Post] models up to ID: 3
        All [Flarum\Post\Post] records have been imported.
        Imported [Flarum\User\User] models up to ID: 1
        All [Flarum\User\User] records have been imported.

        but meilisearch has not built an index, and I suspect there is a cache.

          Aaro-n running that command should be the right solution.

          If you don't see any error while running the command there are 2 likely reasons that I have encountered during my own use of the extension:

          • Make sure the "driver" setting in the Flarum extension still points to Meilsearch. It might have been reverted to null by mistake and the index is "successfully" written into the void because of it.
          • If you use an asynchronous queue (via another Flarum extension), make sure it's running and wait for all the jobs to complete. Index updates are processed in queable jobs.

          If that doesn't help, maybe there's an issue specific to the new Meilisearch version. I probably haven't tried that specific version yet. You could try booting a fresh Meilisearch server with the old version and try again, just to see whether the indexes can be re-created there.

          16 days later

          Versions 0.3.4 & 0.3.5

          Added compatibility with Advanced Search Highlight (Meilisearch only)

          0.3.4 contained a bug when multi-bytes characters were present in the highlighted attribute. This was fixed in 0.3.5.

            4 months later

            clarkwinkelmann Is it possible to exclude some specific flarum-tags from the search results using this extension?

            And is meilisearch free when hosted on the same server with flarum?

              HD3D Is it possible to exclude some specific flarum-tags from the search results using this extension?

              No, but if any extension implements this feature for the native search, it will work when used with Scout as well.

              HD3D And is meilisearch free when hosted on the same server with flarum?

              There's no license when you self-host meilisearch, so it will only cost you what your hosting already costs. Doesn't matter if it's on the same server as Flarum or a different server.

                clarkwinkelmann Installed meilisearch through "composer require meilisearch/meilisearch-php"
                Installed Scout search too, now I'm stuck at meilisearch key
                How do I generate masterkey for it through SSH?

                  HD3D meilisearch/meilisearch-php

                  That is not meilisearch, but the api library for php that interacts with it. You will need to install meili similar to how Apache or nginx are installed, check the meilisearch website for instructions specific to your os.

                  • HD3D replied to this.

                    luceos Yes, installed meilisearch but no matter what I keep getting this error on centos

                    meilisearch: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by meilisearch)
                    meilisearch: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by meilisearch)
                    meilisearch: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by meilisearch)
                    meilisearch: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by meilisearch)