全文検索のメンテナンスですが、終盤に入りました。(でもこれが長い)

新しい投稿が順次検索可能になっていっています。

全文検索は、Elasticsearchという独立した検索サーバを設置して、Mastodon本体と連携をとりながら動作します。

実際には、Elasticsearchが使える場合は、アカウントの検索、ハッシュタグの検索にも用いるように切り替わります。

新しい投稿がされたときや、お気に入りなどリアクションがされたときに、検索に必要な情報をMastodonからElasticsearchに書き込んでいます。

検索する際は、Elasticsearchが結果として投稿のIDを教えてくれるので、そこから必要な投稿データをMastodon側で揃えてユーザーに返します。

今回のように過去データをリセットした場合、Elasticsearchに書き込まれていないデータが大量に出てきます。

Mastodonにはメンテナンスコマンドでこれをまとめて反映する機能があるので、現在それを実行中です。これにはかなりの時間がかかります。

Fedibirdでは最新投稿からこれを反映していくようにしているので、だんだん古い投稿がみられるようになっていきます。

今回のElasticsearch側のメンテナンスは、インデックス内容の変更に伴うデータ刷新と、形態素解析器をKuromojiからSudachiに切り替える作業を行いました。

インデックス(ここでは全文検索用のデータをデータベースに保存すること)する内容は、後ほど検索オプションを提供するための仕込みで、いろいろと増やしています。

形態素解析器の切り替えは、単語の間に空白を設けない日本語の文章を分析して切り分けるための仕組みが変わるということで、sudachiはその基礎となる辞書が大きいこと、分割が検索に適していることから、検索精度にも影響してくる変更です。

とはいえ、口語調であったり、短い文章が多かったり、辞書にない言葉が使われているなど、うまく分割できないことも多いので、検索の際は " " で囲う方法も覚えておいてください。

たとえば『将棋』と検索しても、『将来』とか『大将』が検索結果にでてきてしまいますが、これを "将棋" と指定するとそのままの表現で検索するので、より目的にかないます。

通常の検索は表記揺れに強い(多少表現が違ってもヒットする)反面、余計なものを結果に出す欠点があるということで、うまく使い分けてください。

さて、今回、重要な仕様変更があります。

・Misskeyの投稿を公開の検索対象に変更した

・プロフィール説明文へ特定文字を記載することで、Fedibirdでの検索範囲を指定可能にした

Misskeyの投稿は、Misskeyの仕様により、公開範囲がパブリックおよびホームの投稿がすべて検索の対象になります。

Fedibird側ではこれまで、リモートサーバの種別を保持していなかったこともありますが、すべてMastodonの基準で対応していました。今回これをMisskeyの仕様に準じ、検索の対象とすることにしました。

Misskeyの仕様についてはGithub Issueにて確認をとっていますので、合わせて確認されると良いと思います。
github.com/misskey-dev/misskey

Misskeyのアカウントについても、個々のアカウント単位で検索範囲を制限することができます。(次の投稿を確認ください)

従来より検索結果が非常に多くなりますので、状況によっては検索範囲を狭くして使われた方が良いかもしれません。

フォローしてる人までにしたり、通常のMastodon同様、自分とリアクションした相手だけにすることもできます。

(長くなったので続く)

If there's something that can also be addressed for this by Firefish, I would love an issue on our repo to discuss.

@kainoa Firefish welcomes the ability for users to explicitly declare the search scope of their posts.

There are two ways to do this: by default, per account, or per post.

I will summarize Fedibird's specifications later.

Incorporating this feature will have no impact on implementations that ignore it. However, by carefully nurturing this feature ourselves, we can provide a way to implement a consensus search service on Fediverse for Fediverse search engines and new services considering full-text search.

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。