高速アクセス(O(n)よりも優れている)でデータを保存する方法を見つけようとしています。
私のデータベースは、いくつかのアイテムに関するいくつかの情報を表すデータ(4096バイトの文字列)で構成されています。
問題は、クエリが決して正確ではないということです。1つのアイテムを取得し、関数を使用して最も近いものを見つける必要がありますF(a,b)
。
ほんの一例:
1234
3456
6466
F(a,b) = return % of similar digits
GetClosest(1233,F) = 1234
問題は、F(a、b)が複雑なアルゴリズムであるということです(適切なメトリックではありません)。
私が今持っているのは、データベース全体を調べて、最適なものを検索することです。
複雑さをすばやく見つけることができる種類のツリーまたは他のクラスターデータベースタイプはありますか?
詳しくは:
Fは、%percentageで類似性の値を返します。ここで、100%は完全に一致します。