全文検索を行うために Python でサフィックス ツリーを実装しましたが、非常にうまく機能しています。しかし、問題があります。索引付けされたテキストは非常に大きくなる可能性があるため、構造全体を RAM に格納することはできません。
IMAGE:単語のサフィックス ツリーBANANAS
(私のシナリオでは、100000 倍大きいツリーを想像してください)。
それで、それについて少し調べてpickle
みると、ファイルから/へオブジェクトを「ロード」および「ダンプ」するための優れたPythonモジュールであるモジュールが見つかりました。それは私のデータ構造で素晴らしく機能します。
長い話を短くすると、この構造をディスクに保存したり、ディスクから取得したりするための最良の戦略は何でしょうか? つまり、解決策は各ノードをファイルに保存し、必要なときにディスクからロードすることですが、これは最善の方法ではありません (ディスク アクセスが多すぎるため)。
脚注:この質問にpythonというタグを付けましたが、プログラミング言語は質問の重要な部分ではなく、ディスクの保存/取得戦略が実際の要点です。