概要
「機能: Fedibirdでのフォロー情報の自分への非表示設定 | GNU social JP」で前回Fedibirdの機能を紹介し、今後紹介すると予告しました。その後、Fedibirdに大きめの変更があったので紹介します。
2023-08-04の「Improved search (WIP) · fedibird/mastodon@88423fd」のコミット時点の更新になります。以下の投稿から始まるスレッドで告知されていました。概要は以下です。
検索に関する機能追加でした。
保守
以下の投稿が開始でした。
#fedibird #fedibird_info 全文検索のメンテナンスですが、終盤に入りました。(でもこれが長い)
新しい投稿が順次検索可能になっていっています。
全文検索は、Elasticsearchという独立した検索サーバを設置して、Mastodon本体と連携をとりながら動作します。
実際には、Elasticsearchが使える場合は、アカウントの検索、ハッシュタグの検索にも用いるように切り替わります。
新しい投稿がされたときや、お気に入りなどリアクションがされたときに、検索に必要な情報をMastodonからElasticsearchに書き込んでいます。
検索する際は、Elasticsearchが結果として投稿のIDを教えてくれるので、そこから必要な投稿データをMastodon側で揃えてユーザーに返します。
今回のように過去データをリセットした場合、Elasticsearchに書き込まれていないデータが大量に出てきます。
Mastodonにはメンテナンスコマンドでこれをまとめて反映する機能があるので、現在それを実行中です。これにはかなりの時間がかかります。
Fedibirdでは最新投稿からこれを反映していくようにしているので、だんだん古い投稿がみられるようになっていきます。
#fedibird #fedibird_info 今回のElasticsearch側のメンテナンスは、インデックス内容の変更に伴うデータ刷新と、形態素解析器をKuromojiからSudachiに切り替える作業を行いました。
インデックス(ここでは全文検索用のデータをデータベースに保存すること)する内容は、後ほど検索オプションを提供するための仕込みで、いろいろと増やしています。
形態素解析器の切り替えは、単語の間に空白を設けない日本語の文章を分析して切り分けるための仕組みが変わるということで、sudachiはその基礎となる辞書が大きいこと、分割が検索に適していることから、検索精度にも影響してくる変更です。
とはいえ、口語調であったり、短い文章が多かったり、辞書にない言葉が使われているなど、うまく分割できないことも多いので、検索の際は ” ” で囲う方法も覚えておいてください。
たとえば『将棋』と検索しても、『将来』とか『大将』が検索結果にでてきてしまいますが、これを “将棋” と指定するとそのままの表現で検索するので、より目的にかないます。
通常の検索は表記揺れに強い(多少表現が違ってもヒットする)反面、余計なものを結果に出す欠点があるということで、うまく使い分けてください。
全文検索機能のメンテナンスを行っており、その際に形態素解析気をKuromojiからSudachiに変えました。
機能
肝心の機能更新の告知が以下です。
詳細プロフィール。SNS: X Twitter/GS=gnusocialjp@gnusocial.jp/WP=gnusocialjp@web.gnusocial.jp。2022-07-17からgnusocial.jpとweb.gnusocial.jpのサイトを運営しています。WordPressで分散SNSに参加しています。このアカウントの投稿に返信すると、サイトのコメント欄にも反映されます。
Comments