報 2024-09-08

Report/2024-08-17/2024-09-08

前回からかなり間が空いたように感じます。日々いろいろです。

休学とか

休学届を出したので休学です。多分...(まだ学群事務から手続きが終わりましたというメールが来ない。不安である)休学の事由とか何お前卒研やったのに卒業できないのとか、そういうのはそのうち文章を https://coord-e.com/post に出します。近況報告として。

しかしこう...将来に目を向けるとまあまあ真面目に人生をやっていかないといけない感じが出てしまうので難しい気持ちになります。パソコンはやりつつもこれからパソコニズムとは違う道を作りたいと常々思っていて、まあ、コツコツ進んでいければと思っています。

サブカル

検索

全文検索というものがありますね。わたしは文章を読んだり書いたりするプラットフォームに対して感情を持っていて、具体的には Scrapbox が好き(何が嫌いなのかは言いません^^)なんですが、そういうのの背景として検索の再現率があります。検索というのは脳内では grep なのでどんな形であれ文字列が含まれていれば確で出てきてくれないと困るわけですが、Google Docs の検索とか、適当にトークンを形成しないフラグメントで検索してもマッチしないですよね(“ish” で検索して “Fish” はヒットしない)。そういうのがまあ結構気に入らないと思っていたわけですが、実際その差がどこから来ているのかは意外と考えたことがありませんでした。調べてみるとこれは検索の領域では初歩的な話で、正確な言葉は分かりませんが、インデックスの生成が何かしらのトークン(形態素?)の単位で行われているか n-gram で雑に行われているかという違いっぽいです。それぐらい大学で習ったのでは?という気がしますね

まあそこまではよくて、全文検索というのは結局インデックスを引ければ良いのだというのが具体的な手続きの実感としてジワジワと身にしみてくると、どうもソワソワしてくるわけです。索引を引くだけなら KVS でええやんけ。Elasticsearch だかなんだか知りませんが、結局索引が引ければそれでええんか?落ち着きがなくなってしまったので、すぐに実装ができました。bigram でインデックスを作って DynamoDB にぶちこみます。まあ、これも調べてみてわかったんですが DynamoDB に入れるというのも割とよくあるアイデアで、インターネットにはそういう話がボコボコ転がっています。

自分の場合はいわゆる“検索バッチ"にあこがれがあったのでインデックスをつくるバッチを日次で回すことにしました。日次でインデックスが回ることになるので、毎日 DynamoDB にアイテムを足したり消したりするのは不毛で、そこで S3 インポート機能を使って毎日新しいテーブルを生成するようにしています。これはずっとやってみたかったことの一つでした。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/S3DataImport.HowItWorks.html

新しいテーブルが焼けたらその時点で検索を行う側からは新しいテーブルを参照してもらうようにします(古いテーブルは定期的に消します)。パラーメータストアに現在使うべき DynamoDB テーブルの名前を入れておき、検索 API の実装ではそれを参照してインデックスを見に行くように実装しています。さらに、元データにメタデータを増やす、インデックスを作る、DynamoDB にインポートする、インポートが終わるのを待つ、アプリから使うテーブルを新しいものに入れ替えるという一連の流れを Step Functions で書きました。これもずっとやってみたかったことの一つです。 図: やっている様子

やりたかったことが全部できてかなりほくほくです。検索の題材は家にある本にしました。ちょうど最近本棚に本を入れる際に全部の ISBN をスキャンしたものがあったので、それを元データとしつつ、各種 API からタイトルとか著者とかのデータをひいてきてそこからインデックスを作っています。それで、出来たのがこちらです。

https://hondana.coord-e.dev/

気持ちになってから物が出てくるまで3日もなくて、こういう衝動的なパソコンはひさしぶり。まあ、いまはこういうのをよしとするムードです。

良かった曲

https://open.spotify.com/track/6BIxglmdOjzfDqdjokHobF

MPH × AC Slater ね!!頭の中で勝手に鳴り出してこれから Radio をはじめることの多いこと

https://open.spotify.com/track/1YGxSgWIWqxKuLLocPVxhC

Overmono ききはじめている

https://open.spotify.com/track/6ViOxqq7aLe3lnfVTXH8LI

最近 SABLE VALLEY の存在を認知して Acid Trap 含めそちらの文脈に手軽にリーチできるようになった

https://open.spotify.com/track/2XZYg7EkL016IfoaIZjq7d

これエモすぎて UK ハードコアに興味が出ている