有限状態機械をデータ構造として:数十億のURLのインデックス作成
2025-08-14
この記事では、有限状態機械(FSM)をデータ構造として使用して、順序付き集合とマップを表す方法を探求し、Rustのfstクレートによる効率的なインデックス作成を示しています。FSMの構築について詳しく説明し、TrieとFSAの構築を網羅し、2015年7月のCommon Crawlアーカイブから16億以上のURLをインデックス化する例を示します。メモリマップ、正規表現とのオートマトン交差、Levenshtein距離によるあいまい検索、ストリーミング集合演算などの手法についても説明します。著者は、さまざまなサイズと特性を持つ複数のデータセットにおいて、他の圧縮スキーム(gzip、xz)と比較してFSTのベンチマークを作成しています。
開発
有限状態機械