あれ
デライトの全文検索が面白い
あれ
AIとのやり取りをばかすか投稿し始めてから、全文検索しかないことのほうが、「正気なのかな?」と感じるようになってきた。
AIに限らず、文章量が多くなってくると、常識的な全文検索だと、ノイズになるのを気にして書くことをやめてしまう。「意味がありそうかどうか」を事前に判断するようになってくる。
デライトはその辺を気にせずかけるので、一見ノイズだらけになる。
あれ
『t_wの輪郭』に攻撃が来た 2022年11月6日
は?やべぇ。攻撃来てるかも。攻撃戦だ。
nginxのログみたら、SQLっぽいクエリで検索めっちゃされてる。
nginxでIPをはじくようにした。
IPをBANしたら、一旦攻撃は止んだ。
攻撃の対策どうしよう、fail2banのnginx-403-404は設定してるけど、サイト内検索を連打されるとこれ効かないんだよな。
WAF入れるのが手っ取り早いんだろうけど、勉強にならないし、お金かかるしで、もうちょっとほかの手段を検討したい。
①fail2banでSQLインジェクションを検知してBANする
②nginxで高頻度の検索を検知してBANする
あたりかしら
設定するのめんどくせー
ちゃんと設定できてるか検証するのもめんどくせー
①検証用の被攻撃サーバーと攻撃用サーバーを立ててそこで対策が有効かを検証
②本番環境に反映したら攻撃用サーバーから攻撃してみて、ちゃんと対策されているか検証
って感じで進めるとお行儀が良さそう。
めんどくせー
本番環境でペペぺって設定して、自宅のPCから実際攻撃して検証したい。そして自宅のPCから本番環境にアクセスできなくなるワナ。
こういうのって制定された手順とかあるんかな。ありそう。先に調べよう。
そもそもサイト内検索が大変重たいという問題も解決したい。
自作の検索機能がDBにインデックス張ってないわ、title LIKE %hogehoge% OR body_text LIKE %hogehoge%
とかやって全文検索走るわでイケてない。
DBにちゃんとインデックス張ればいいんだろうけど、PostgreSQLの日本語のインデックスって、PGroonga入れたり、pg_bigm入れたりで、これまた検証サーバー立てないと怖いのよね。
めんどくせー。
Jamstack
『t_wの輪郭』の検索機能を改善
『pg_bigmで全文検索する』
『t_wの輪郭』に全文検索機能追加
2022年4月30日
あれやあれに書かれているように全文検索が鬱陶しくなるということを検証するためだけに全文検索を実装してみる。
知名完全一致のみの全知検索が問題ないことは実体験済みだが、全文検索が鬱陶しくなるというのはまだ体験していない。
実装したものの、クロールをやり直さないといけない作りになってしまった。まあ放置しておけばなるようになるだろう。
2022年4月30日
postgresqlのLIKE
を使ったが、貧弱なサーバーではやはり重たいらしい。いけるかなと思ったけどいけなかった。いったん全文一致に作り替えよう。良くわかってないけど、そっちならインデックスが効くので処理の負荷が小さいはず。
2022年4月30日
Postgresqlの全文検索は@@演算子を使うといいらしいので、@@演算子による全文検索に切り替えた。
『PostgreSQL 13.1 文書パートII. SQL言語 第12章 全文検索』
あれ
全文検索がデライトの起爆剤となる可能性がある。
■全知検索の場合
デライトの中で検索する
→輪郭がヒットしない(しづらい)
→デライトはわかりにくいという印象になる
■全文検索の場合
デライトの中で検索する
→何かしら輪郭が出てくる
→無限活字沼にはまる
あれ
全文検索がデライトの起爆剤となる可能性がある。と書いたものの、じゃあSNSで検索が重要なのかというとそうでもない。マストドンでは検索されにくいことに価値を見出している人もいるぐらいだ。
デライトのSNSとしての成功を考えるなら、全文検索はさほど重要じゃない可能性もある。
あれ
「待欄に前景用の輪郭が並ぶ」のが見る人を驚かせてしまうのなら、最初に待欄を見せなければいいのではないか。
いや、でもトップページから検索できるようになってるしなぁ……。あそこから検索してみたいものを見て回るはずだろう……。検索が引っかからなかったらそれで去ってしまうのかもしれない。全文検索があればまた違ってくるだろう。全文検索がデライトの起爆剤となる可能性もある。
Googleを使ったデライトの全文検索
検索キーワード site:dlt.kitetu.com
で検索
自分の輪郭だけを検索するときは
検索キーワード site:https://dlt.kitetu.com/利用者番号
例:検索キーワード site:https://dlt.kitetu.com/KNo.9-EDD2
のようにすると検索できる