オブジェクトのコレクションを受け入れ、高速クエリ用に最適化されたインデックス付きデータ構造を返すライブラリを探しています。
これは、おそらく次の例でよりよく説明されています。
public class MyClass
{
public sting Name {get;set;}
public double Number {get;set;}
public ... (Many more fields)
}
var dataStore = Indexer.Parse(myClassCollection).Index(x => x.Name).Index(x => x.Number).Index( x => x.SomeOtherProperty);
var queryResult = dataStore.Where( x => x.Name == "ABC").Where(x => x.Number == 23).Where( x => x.SomeOtherProperty == dateTimeValue);
のクエリはdataStore
、 のオーダーで非常に高速になるという考えですO(log n)
。
索引付けするフィールドが 2 つまたは 3 つを超えると、辞書の辞書の使用が複雑になり始めます。
このようなことを行う既存のライブラリはありますか?