大きなテキストを 1 つだけメモリにロードせずに、ディスクに保存する方法が必要です。
私のクエリは、次のようなテキストのスパンの形式になっています: 位置 x と位置 x + n の間のすべてのテキストを教えてください。それ以上でもそれ以下でもありません。テキストを頻繁に変更することはありません。
おそらく、「永続的な」Bツリーのようなものが必要です。
また、次のようないくつかの DBMS 機能も必要になります。
- クライアント/サーバー アーキテクチャ
- キャッシュシステム
ありがとう
大きなテキストを 1 つだけメモリにロードせずに、ディスクに保存する方法が必要です。
私のクエリは、次のようなテキストのスパンの形式になっています: 位置 x と位置 x + n の間のすべてのテキストを教えてください。それ以上でもそれ以下でもありません。テキストを頻繁に変更することはありません。
おそらく、「永続的な」Bツリーのようなものが必要です。
また、次のようないくつかの DBMS 機能も必要になります。
ありがとう
また、次のようないくつかの DBMS 機能も必要です。
では、なぜ DBMS を使用しないのでしょうか。または、OrientDB のようなクエリ機能を備えた NoSQL ソリューションでさえありますか?
このようなことができると思います。
これで、クエリを記述して、位置 x と位置 x+n の間のテキストを抽出できます。
SELECT TEXT, BEGIN END
FROM TEXT_TABLE
WHERE END >= x
AND BEGIN <= (x+n)
ORDER BY BEGIN
最後
に、次のような方法でテキストを抽出するだけです
。
n-BEGIN))
明らかに、「エッジ ケース」にも注意する必要があります (1 行または 2 行のみの結果、要求されたスパンが範囲外など)。
しかし、このアプローチはあまり労力をかけずに問題を解決するはずだと思います。
それが役に立てば幸い。
さようなら、
ラフ