#fedibird #fedibird_info 全文検索の機能を強化しました。
これは、Mastodon v4.2に搭載される予定の新機能と、Fedibirdが積み上げてきたものを統合し、さらに強化・拡張したものです。
ついては、説明の中で、Mastodon v4.2と共通するものと、Fedibird独自の部分が混在してきますので、あらかじめご承知おきください。
違いについては都度説明します。
最初に重要な点を挙げます。
あなたの投稿を全文検索の対象とする、つまりみんなに検索してもらえるようにするには、設定変更が必要です。
逆に言うと、設定を変更しなければ、あなたの投稿が検索によって発見されることはありません。
Mastodonの従来の全文検索は、あなたが既に知っている投稿を振り返るためのものでした。
自分自身の投稿は全て対象になる他、お気に入りやブックマーク、ブースト、返信(メンション)など、何らかのリアクションを行った投稿だけが対象になります。
今回、Mastodon v4.2から、自分で設定した(許可した)人の公開投稿に限り、誰かにとって未知の投稿を全文検索の対象となるよう拡張されました。
ついては、自身の公開投稿を全文検索の対象とする(許可する)か検討し、設定してください。
#fedibird #fedibird_info Mastodon v4.2の場合、自分の公開投稿を検索結果にみせる設定は、プロフィールの『Privacy and reach』にある『Include public posts in search results』です。(開発中にて、まだ和訳が反映されていない)
対象は公開投稿なので、未収載、フォロワー限定にした投稿は対象外です。
この設定を有効にして保存すると、自身のフォロワーがいるリモートサーバにも伝わり、Mastodon v4.2以降、もしくはFedibirdにおいて、あなたの公開投稿が検索対象になります。
Fedibirdの場合、基本はFedibird独自の検索範囲設定があり、それと合わせてMastodon v4.2互換の設定項目があります。設定がある画面はプロフィールです。
所属サーバを含む、Fedibirdに対してはFedibirdの設定が有効になります。それ以外のMastodon v4.2互換のサーバには、互換設定の方が有効になります。
Fedibirdの設定では、フォロワーにだけ公開することが可能で、また個々の投稿毎に設定を切り替えられるようになっています。
この機能は、互換設定を行うとリモート側で無視されるのでご注意ください。
#fedibird #fedibird_info この他、Fedibird検索に対する互換機能として、プロフィールの説明文に特定文字列(キーワード)を書くという方法があります。
これは、Mastodon v4.2の公開機能ではなく、Fedibirdのフォロワー限定公開を使いたい場合や、Mastodon v4.1以前、Mastodon以外のシステムにおいて、
Fedibirdの利用者に対してのみ、それらの検索公開方法を有効にしたい場合にだけ使います。
Mastodon v4.2以降は標準の設定を行った方が良いですが、この互換機能は残しておきます。
プロフィールに記載するキーワードと意味の対応は次の通りです。
#searchable_by_all_users
誰でも検索できる
#searchable_by_followers_only
フォロワーが検索できる
#searchable_by_reacted_users_only
リアクションした人だけ検索できる(Mastodonのデフォルト)
#fedibird #fedibird_info 強化された全文検索では、様々な指定方法が可能になっています。
また、従来と仕様が変更になった部分があります。
まず、検索語を空白で区切って並べた場合、これまではOR検索になっていました。つまり、検索語のいずれかが一致すれば結果が表示されていました。
Mastodon v4.2以降およびFedibirdでは、これがAND検索になりました。つまり、検索語がすべて一致すれば結果が表示されます。
Fedibirdではさらに、検索語を , でつなぐとOR検索になります。OR検索はMastodon v4.2では対応していないのでご注意ください。
検索語を " " で囲うことで、フレーズ検索ができます。並び通りの検索語で調べたい場合、フレーズ検索が有効です。通常通り書いて結果の候補がうまくいかなかったら、" " で囲ってみてください。
検索語の先頭に - をつけることで、除外指定(NOT検索)が可能です。指定した検索後が含まれない投稿を検索できます。
URLを直接書いた場合、全文検索ではなく、アカウントや投稿の照会になります。
URLを検索する場合はフレーズ検索にするか、Fedibirdのurl検索を使います(後述)
#fedibird #fedibird_info 全文検索では、様々なオプション指定をして、検索結果を絞り込んだり、順番を変えることができます。
from:noellabo のように、プレフィックスを from + : という書式で書き、空白などを開けずに値を続けて書きます。
個々に詳細を解説したいのですが、スペースが限られますので、ざっくり列記しておきます。
has, is, not
投稿の種類などを指定して絞り込みます。hasとisの動作は同じです。notはFedibirdでのみ指定できる、指定の否定です。
image, audio, video, media, poll, link, embed, sensitive, reply が指定可能です。
またFedibirdでは、quote, bookmark, archive, bot が追加で指定できます。
language
投稿の言語を絞り込みます。
from
投稿者を絞り込みます。
before, after, during
投稿日時を絞り込みます。
in
all または library を指定し、libraryを指定した場合は従来のMastodonの検索結果同様、自分の投稿とリアクションした投稿だけに絞ります。
#fedibird #fedibird_info なお、inについてはFedibirdのフォロワー限定も指定できます。 private です。
以下は、Fedibirdでのみ使える機能です。
to
投稿の宛先(メンション)として指定したアカウントで絞り込みます
domain
サーバーのドメインを指定して絞り込みます。
app, client, source, generator
クライアントアプリを指定して絞り込みます。先頭一致です。
url
Fedibirdでは、ノイズになりやすいため、本文の検索からURL文字列を除外しています。URLを検索したい場合はこちらを使って指定してください。
min_replies
投稿に対する返信数で絞り込みます。指定数より返信が多い場合にヒットします。先頭に - をつけて意味を反転させることが可能です。
min_boosts
投稿に対するブースト数で絞り込みます。
min_favs
投稿に対するお気に入り数で絞り込みます。
min_reactions
投稿に対する絵文字リアクション数で絞り込みます。
min_refs
投稿に対する参照・引用数で絞り込みます。
#fedibird #fedibird_info おっと、もう一つ重要なのを忘れていました。
order:desc
order:asc
Fedibird固有の指定ですが、検索結果を最新順、古い順に変更します。デフォルトは最新順です。
期間指定もできるので、これでだいたい任意の投稿をみつけてくることができるのではないかと思います。
#fedibird #fedibird_info 全文検索まわり、不具合の修正と仕様の変更を行いました。
・ローカル投稿のアプリ情報が記録されない不具合を修正
- is, has, notで無効な内容を指定するとエラーになるよう修正
・urlとgeneratorの効率を改善
・bookmarkとarchiveの廃止(仕様変更)
・稀に発生する特定条件でインデックスに失敗する不具合を2つ修正
#fedibird #fedibird_info 説明の漏れていた仕様ですが、
from:me と指定する(me)ことで、自分のアカウント名を書く代わりになります。Mastodon v4.2の仕様です。
ユーザー名がmeのローカルユーザーを指定する場合、ドメイン名まで書くことで対応できる……かな?
あと、リアクションなどの数で絞り込む機能について。
MastodonやMisskeyなどのサーバが分散しているシステムでは、正確な数字は投稿元のサーバにしか記録されていません。
リモートサーバの投稿に記録されているリアクションなどの数の表示は、そのサーバが把握できる範囲のもので、本来の数字より大幅に少なくなります。
それでも十分に参考にはなりますが、比較には使えないものと思ってください。
人気の投稿を見つけるため使うこともできますが、それを追いかけると不正やスパム行為が増えてノイズになったり、比較して競争心を煽ることにも繋がりますので、慎重に扱ってください。
なお、この検索指定は何に使う意図で設けたかというと、自分の過去投稿を掘り起こすためです。
キーワードになる単語などの記憶が曖昧でも、注目度が高かったものという条件で絞ることで候補が絞れ、非常に探しやすくなります。
#fedibird #fedibird_info いま、fedibird.comはインデックス再作成中なので、あまり古い投稿はでてこないと思いますが、しばらくの辛抱です。
この他、sudachiを使った形態素解析がきっちり仕事してくれるように調整したので、
フレーズ検索( " " で囲うやつ)を使わなくてもほとんどの場合に適切な日本語検索結果を返してくれると思います。
mastodon.socialなど海外サーバでは難しいところなので、検索については国内サーバの強みがでてくるかもしれません。
たまに、同一語として扱ってほしいのに失敗しているものなどに出くわしますがご愛敬、カンマ区切りのOR指定もできるので、使う側で頑張っていただけると……!w
(韓国語と中国語についても別途それぞれの形態素解析器を入れてはあるのですが、これは機能しているのかまったく検証されてません。language指定すると形態素解析器が切り替わります)