Sau*_*ank 3 c# elasticsearch nest
我们正在将Nest 1.0迁移到NEST 2.0,在以前的版本中我们有这样的查询:
container = new QueryContainer();
container = new QueryDescriptor<BaseModel>().Range(qs => qs.OnField(f => f.PublishedDate).LowerOrEquals(TimeZoneInfo.ConvertTimeToUtc(DateTime.Now)));
if (!string.IsNullOrEmpty(contentType) && !contentType.ToLower().Equals("all"))
{
container &= new QueryDescriptor<BaseModel>().QueryString(qs => qs.OnFields(f => f.ContentType).Query(contentType));
}
Run Code Online (Sandbox Code Playgroud)
在NEST 2.0中,QueryDescriptor类不可用,我们如何在NEST 2.0中执行类似的操作?
Rob*_*Rob 10
对代码应用一些更改,你会很好:
QueryDescriptor<>到QueryContainerDescriptorDateRange(..)而不是Range(..)OnFields(..)方法已改为Fields(..)四周LowerOrEquals(..)为LessThanOrEquals(..)就像是:
container = new QueryContainer();
container = new QueryContainerDescriptor<BaseModel>().DateRange(qs => qs.Field(f => f.PublishedDate).LessThanOrEquals(TimeZoneInfo.ConvertTimeToUtc(DateTime.Now)));
if (!string.IsNullOrEmpty(contentType) && !contentType.ToLower().Equals("all"))
{
container &= new QueryDescriptor<BaseModel>().QueryString(qs => qs.OnFields(f => f.ContentType).Query(contentType));
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
1071 次 |
| 最近记录: |