2025年9月7日のつぶやき@digitune.bsky.social
2025年9月7日のつぶやき@digitune.bsky.social
そんなわけで、静的なサイトに全文検索機能を追加するための「Nanazu - Nano Indexer」を作りました。事前生成した静的なインデックスファイルさえ置いておけば、それを使ってフロントエンドのみで全文検索できます。
https://github.com/gitune/nanazu (09:24 bskyから・詳細)
ちなみに実際使ってみると、ときどきキャッシュの具合でうまく検索出来ないことがありますので、そういう時は慌てず騒がずリロードしてみてください。下記いつもの自サイトに設置していますので実際の動作も試せます。
https://memo.digitune.org/ (09:24 bskyから・詳細)
なおNanazuの作成にはGeminiさんに大いに手伝ってもらいました。始祖たるNamazuのインデックス構造を解説してもらうことに始まり、僕のあーでもない、こーでもない、というアイディアに根気よく付き合ってくれました。めっちゃ助かった。 (09:24 bskyから・詳細)
そういやNanazu、検索はフロントエンドで閉じているから、どんな単語で検索されているかがぱっと見全然分からないんだな(汗。結果から飛べば#:~:text=テストのようなword jumpで見え…いや、これもaccess.logには残らないのか。図らずもプライバシー保護仕様だw。 (11:55 bskyから・詳細)
ポスティングリストへのrange GETで検索語が分かるか…?とも思ったけど、標準のaccess logには具体的なparameterは残らないのでそれも分からず、と。まぁ僕の場合は分からなくても全然良いのだけれど、実際の用途によっては知りたいこともありそうね。 (11:55 bskyから・詳細)
方法的には1)apacheのcustom log設定で%{Range}iを出力するようにする、2)nnz.all.idxをrange GETするときにURLにdummy paramとして対象単語・bi-gramを付与する(?w=~)、くらいかしら。 (11:55 bskyから・詳細)
1)だとコードには手を入れなくて良いけどオフセット情報からの逆引きが必要で後処理が面倒、2)はその逆、って感じか。まぁ用途に合わせて。 (11:55 bskyから・詳細)