第一步

/vendor/flarum/core/src/Core/Search/Discussion/Fulltext 文件夹新建文件 MySqlFulltextLikeModeDriver.php
内容为:

<?php
/*
 * 添加 Flarum 对中文搜索的支持
 *
 * Flarum 的搜索默认使用了 MySQL 的全文检索。
 * 但是 MySQL 的全文检索功能默认不支持中文。
 * 本方案把 Flarum 的搜索改成了基于 LIKE 语句的 SQL 搜索。
 *
 * @author justjavac <justjavac@gmail.com>
 */

namespace Flarum\Core\Search\Discussion\Fulltext;

use Flarum\Core\Post;
use Flarum\Core\Discussion;

class MySqlFulltextLikeModeDriver implements DriverInterface
{
    /**
     * {@inheritdoc}
     */
    public function match($string)
    {
        $discussionTitleIds = Discussion::where('title', 'like', "%$string%")
            ->lists('id');
        $discussionIds = Post::where('type', 'comment')
            ->where('content', 'like', "%$string%")
            ->lists('discussion_id', 'id');

        $relevantPostIds = [];
        foreach ($discussionTitleIds as $discussionId) {
            $relevantPostIds[$discussionId][] = 0;
        }

        foreach ($discussionIds as $postId => $discussionId) {
            $relevantPostIds[$discussionId][] = $postId;
        }

        return $relevantPostIds;
    }
}

第二步

修改 ./vendor/flarum/core/src/Core/Search/SearchServiceProvider.php 文件

把第 30 行修改为:

Flarum\Core\Search\Discussion\Fulltext\MySqlFulltextLikeModeDriver

beta 0.7 测试通过,其他版本未测试。