我正在寻找一个可以接受对象集合并返回索引数据结构的库,该结构将针对快速查询进行优化。
这可能通过一个例子更好地说明:
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 个要索引的字段时,使用字典的字典开始变得复杂。
是否有一个已经存在的库可以做这样的事情?