あれ
デライトの全文検索が面白い
あれ
AIとのやり取りをばかすか投稿し始めてから、全文検索しかないことのほうが、「正気なのかな?」と感じるようになってきた。
AIに限らず、文章量が多くなってくると、常識的な全文検索だと、ノイズになるのを気にして書くことをやめてしまう。「意味がありそうかどうか」を事前に判断するようになってくる。
デライトはその辺を気にせずかけるので、一見ノイズだらけになる。
AIとのやり取りをばかすか投稿し始めてから、全文検索しかないことのほうが、「正気なのかな?」と感じるようになってきた。
AIに限らず、文章量が多くなってくると、常識的な全文検索だと、ノイズになるのを気にして書くことをやめてしまう。「意味がありそうかどうか」を事前に判断するようになってくる。
デライトはその辺を気にせずかけるので、一見ノイズだらけになる。
は?やべぇ。攻撃来てるかも。攻撃戦だ。
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入れたりで、これまた検証サーバー立てないと怖いのよね。
めんどくせー。
2022年4月30日
あれや
あれに書かれているように全文検索が鬱陶しくなるということを検証するためだけに全文検索を実装してみる。
知名完全一致のみの全知検索が問題ないことは実体験済みだが、全文検索が鬱陶しくなるというのはまだ体験していない。
実装したものの、クロールをやり直さないといけない作りになってしまった。まあ放置しておけばなるようになるだろう。
2022年4月30日
postgresqlのLIKEを使ったが、貧弱なサーバーではやはり重たいらしい。いけるかなと思ったけどいけなかった。いったん全文一致に作り替えよう。良くわかってないけど、そっちならインデックスが効くので処理の負荷が小さいはず。
2022年4月30日
Postgresqlの全文検索は@@演算子を使うといいらしいので、@@演算子による全文検索に切り替えた。
全文検索がデライトの起爆剤となる可能性がある。
■全知検索の場合
デライトの中で検索する
→輪郭がヒットしない(しづらい)
→デライトはわかりにくいという印象になる
■全文検索の場合
デライトの中で検索する
→何かしら輪郭が出てくる
→無限活字沼にはまる