#fedibird #fedibird_info さくっとメンテ入れるつもりで手間取りまして、ちょっと止まっておりました。
もう一度トライします。
主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。
Mastodonのcollaborator(開発者の一員)です。また、独自機能を盛り込んだFedibirdを管理・開発しています!
Mastodonサーバ『fedibird.com』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては https://fedibird.com/about/more と @info を参照してください。
#fedibird #fedibird_info さくっとメンテ入れるつもりで手間取りまして、ちょっと止まっておりました。
もう一度トライします。
#fedibird #fedibird_info 全文検索のバックエンド側の機能は概ね整ったので、本格的にインデックスの再構築を開始します。
開始時点からそれ以降の内容はすぐに検索対象になりますが、それ以前の内容は順次インデックスしていくことになるので、すぐには検索対象になりません。
Fedibirdでは新しい投稿から順に登録していきます。すべての登録が完了するには、おそらく20日〜30日程度かかります。
これに先立ち最終的な調整を行うため、何度かサーバの再起動等行いますが、ご承知おきください。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
#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 おっと、is, has, not の指定で抜けているのがありました。
Fedibirdでは、投稿の公開範囲を public, unlisted, private, limited, direct, personal で指定して絞り込みできます。
また、FedibirdではMisskeyの投稿を検索対象としています。プロフィールへのキーワード指定で挙動を変更できるので、Misskeyの人は必要な場合、指定しておくことをお勧めします。
Fedibirdは指定のほとんどにカンマ区切りで複数の値を指定できるので、それも上手に使ってください。
使いこなし方法はいろいろと編み出せるハズです。組みあわせでかなり面白いことができます。
またおそらく、これらの機能拡張は、多くの人にとって、Fediverseの利用体験が一気に変わるほどのインパクトがあるハズです。
逆に、検索対象にならないように公開範囲を設定したり、基本の設定を考えるなど、ガードする方法もよく考えてください。
デフォルト設定で既に守られていますが、検索公開するメリットも大きいですから、うまく使いこなしてくださいね。
#fedibird #fedibird_info おっと、もう一つ重要なのを忘れていました。
order:desc
order:asc
Fedibird固有の指定ですが、検索結果を最新順、古い順に変更します。デフォルトは最新順です。
期間指定もできるので、これでだいたい任意の投稿をみつけてくることができるのではないかと思います。
#fedibird #fedibird_info いま、fedibird.comはインデックス再作成中なので、あまり古い投稿はでてこないと思いますが、しばらくの辛抱です。
この他、sudachiを使った形態素解析がきっちり仕事してくれるように調整したので、
フレーズ検索( " " で囲うやつ)を使わなくてもほとんどの場合に適切な日本語検索結果を返してくれると思います。
mastodon.socialなど海外サーバでは難しいところなので、検索については国内サーバの強みがでてくるかもしれません。
たまに、同一語として扱ってほしいのに失敗しているものなどに出くわしますがご愛敬、カンマ区切りのOR指定もできるので、使う側で頑張っていただけると……!w
(韓国語と中国語についても別途それぞれの形態素解析器を入れてはあるのですが、これは機能しているのかまったく検証されてません。language指定すると形態素解析器が切り替わります)
サーバで実装する全文検索は、外部サービスと比較して、いくつか大きなメリットがあります。
まず、ミュートやブロックが反映されることです。非常に重要なポイントです。
また、検索結果に対してダイレクトにリアクションできます。
クライアントアプリ等で双方のサービスを統合する方法もありますが、標準でそれが可能になっているのはやはり違います。
そして、検索についての意思表明(検索対象にする意志)や、削除などの対応が即座に反映されます。
@kiq 投稿者が検索結果に出さないように設定していても、ハッシュタグタイムラインには出る投稿というのがあります。
ハッシュタグタイムラインは検索結果ではない、という重要な視点です。
また、ハッシュタグで検索をかけた場合、その語がズバリヒットしますが、通常の検索では誤検知の可能性が高まります。
どちらかというと、特定のハッシュタグを除外指定するときに正確に指定できるメリットの方が大きいかもしれません。
逆に、ハッシュタグにするデメリットがあるかどうかです。おそらく、あまりないと思います。
@annan ほとんどのパワーアップ要素は、検索のところに指定する文字列の変更だけなので、どのアプリから使っても多分大丈夫だよ。
全文検索からのトラブルはもちろん増えるでしょうが、上手に防衛してくださいね。
Mastodonでは未収載やフォロワー限定を投稿に個別指定できるので、公開範囲をうまく使ってください。
公開で投稿したものは誰でも読めるし、あなたはそれを許可しています。
見せる範囲を限定する運用であれば、Fedibirdのフォロワー限定の検索公開にするのもお勧めです。(この運用の場合、Mastodonの公開投稿検索は利用できず他のサーバで検索してもらうことはできません)
読まれたくない相手から身を守る為には、ブロックも活用してください。
ユーザーが行うドメインブロックは、基本的にフォロー関係の拒絶+ミュートの挙動なので、読まれたくない時には効果がイマイチです。
fedibird.comを試してみたい人も出てくるかと思いますので、少し招待URL出しておきますね。
https://fedibird.com/invite/wJFeRN6g
https://fedibird.com/invite/35YAJP2v
https://fedibird.com/invite/h7s4HnRW
それぞれ100名です。
Fedibirdの全文検索、バックエンド側の機能がだいたい揃って仕様がほぼ確定したというだけで、まだバグもあるだろうし、なによりフロントエンドの改良は何もしてません。
このぐらい大きな変更で、JavaScriptをまったく含まないコミットは珍しいですw
@amty26 外部検索サービスをGoogleなどの従来型全文検索エンジンとすると、
・ユーザー設定 - その他『検索エンジンによるインデックスを拒否する』をチェック
・プロフィール - 外観『あなたの投稿の検索範囲』を『公開』
・プロフィール - 外観『公開投稿の検索をMastodon v4.2互換サーバに許可(互換設定)』をチェック
・ユーザー設定 - その他『デフォルトの投稿設定 - 投稿の公開範囲』を『公開』またはメインで使うもの
ぐらいかな。
@y1slt 語の一致方法だけでなく、対象となる投稿も違います。購読は検索許可とは関係なく、公開投稿か、フォローしている人の投稿(自分がみることができる投稿)を対象とします。
これは私が嬉しいだけなのでみんなには関係ないんですが、
tootctl search deployっていう、既存データをElasticsearchに登録する管理コマンドがあるんですが、20日も30日も実行にかかって、途中で死んじゃうと悲しいので、処理状況を表示して、好きなところだけ再実行できるようにしてあります。
今回は最古のデータまで完走させたいのです。
分散と効率の話はこれな
QT: https://fedibird.com/@noellabo/110586197723325980 [参照]
ちなみに同じActivityPubの仲間であるPeerTubeは、
巨大なバイナリである動画コンテンツの複製は本当に冗長化したい時にしかしない。そういうのは有志のサーバがやる。
再生する際は相手のサーバにデータを取りにいって、必要な時にストリーミング再生する。
再生の負荷軽減はWebTorrentを使って同時視聴者が多くなるほど軽くなるような仕組みにしている。
分散型の効率モデルを考えたいときは、せめてこっちを参照するべし。
*「それはキャタツだよ」
*「どうちがうの?同じようなものじゃない。もっとホンシツを見ようよ、なるほどくん。」
あとね、分散の非効率の大部分は安全対策の経費なんだ。
税関みたいにね、出入りを検査してるし、備蓄して、国内で安全基準を満たすものだけを国民に提供しようとしてる。
安全担保とか安定供給の為に、直接取引に制限をかける、相手に依存しない・そのまま信用しないモデルが非効率の原因だよ。
独立性の担保。
効率の為の分散化じゃないんだよ。