フォーラム構築に使っているNodeBBについて、補足いたします。
日本語検索について
本フォーラムで検索を行う際は、極力短い単語で検索するのがコツとなります。
検索例
「動作確認」・・・0件
「動作 確認」・・・19件
これは「動作確認」という単語が、動作|確認という2つの単語に分解されて索引として登録されているためです。
NodeBBの全文検索機能について
NodeBBの全文検索プラグインはmongoDBのインデックス機能で実現されています。
このmongoDBのインデックス機能は英文のようにスペースで区切られていることを前提とした実装であるため、日本語や中国語ではうまく機能しません。
NodeBBで日本語の全文検索に対応するには、Elasticsearchなど日本語に対応した全文検索エンジンをバックエンドに構築する必要があります。
このような高機能の全文検索エンジンは大容量のメモリを要求するため、サーバの維持費を考えると悩ましいところです。
本フォーラムでは、NodeBBの全文検索プラグインにパッチをあて、TinySegmenterというライブラリを用いて単語区切りのデータを生成する処理を加えました。
これによってmongoDBのインデックス機能で日本語の全文検索がうまく機能するようになりました。
複合語ではヒットしないため、google検索やElasticsearchの使い勝手には及びません。
記事に含まれているはずの単語なのになぜかヒットしない、、、という時は、検索語を変えてみてください。
ご不便をおかけしますがご承知おきください。