• NodeBB Forum Software

    フォーラム構築に使っているNodeBBについて、補足いたします。


    日本語検索について

    本フォーラムで検索を行う際は、極力短い単語で検索するのがコツとなります。

    検索例
    「動作確認」・・・0件🤔
    「動作 確認」・・・19件😉

    これは「動作確認」という単語が、動作|確認という2つの単語に分解されて索引として登録されているためです。


    NodeBBの全文検索機能について

    NodeBBの全文検索プラグインはmongoDBのインデックス機能で実現されています。

    このmongoDBのインデックス機能は英文のようにスペースで区切られていることを前提とした実装であるため、日本語や中国語ではうまく機能しません。

    NodeBBで日本語の全文検索に対応するには、Elasticsearchなど日本語に対応した全文検索エンジンをバックエンドに構築する必要があります。
    このような高機能の全文検索エンジンは大容量のメモリを要求するため、サーバの維持費を考えると悩ましいところです。

    本フォーラムでは、NodeBBの全文検索プラグインにパッチをあて、TinySegmenterというライブラリを用いて単語区切りのデータを生成する処理を加えました。
    これによってmongoDBのインデックス機能で日本語の全文検索がうまく機能するようになりました。

    複合語ではヒットしないため、google検索やElasticsearchの使い勝手には及びません。
    記事に含まれているはずの単語なのになぜかヒットしない、、、という時は、検索語を変えてみてください。
    ご不便をおかけしますがご承知おきください。

  • @Pass さん
    @sunatomo さん
    @ジャイアン さん
    @donuts-shop73 さん

    スレッドをマージすると、マージ前の残骸が一覧に残っていると思います。
    ※10/20時点では、Passさんのところとジャイアンさんのところに残骸があります。

    該当スレッドにチェックを入れて「スレッドツール」の「スレッドをリストア」を実行すれば、マージ前の状態を復元できます。

    該当スレッドにチェックを入れて「スレッドツール」の「スレッドを切り離す」を実行すると残骸を削除することができますので、適宜メンテナンスしていただければと思います。

    残骸はモデレータにしか見えませんので、支障がなければそのまま残していただいても結構です。