elasticsearch,search,nest,Datetime,elasticsearch,Search,Nest" /> elasticsearch,search,nest,Datetime,elasticsearch,Search,Nest" />

Datetime 弹性搜索2.0嵌套2.0日期时间月搜索

Datetime 弹性搜索2.0嵌套2.0日期时间月搜索,datetime,elasticsearch,search,nest,Datetime,elasticsearch,Search,Nest,我需要从datestart字段获取给定的月份数据 public DateTime? datestart { get; set; } 我尝试了以下代码。但它没有起作用。不返回结果 string givenMonth = "5"; //May thisMonthQuery = Query<ProjectModel>.Match( q => q.Field(f => f.datestart.Value.Month.ToS

我需要从datestart字段获取给定的月份数据

public DateTime? datestart { get; set; }
我尝试了以下代码。但它没有起作用。不返回结果

string givenMonth = "5"; //May
            thisMonthQuery = Query<ProjectModel>.Match(
                q => q.Field(f => f.datestart.Value.Month.ToString()).Query(givenMonth));

不能使用匹配查询在日期字段中搜索月份。日期字段不会像文本字段一样拆分为不同的标记,因此您无法按月份进行搜索

您需要为此使用脚本查询

.Script(sn => sn
    .Inline("doc['datestart'].value.monthOfYear==param1")
    .Params(p => p.Add("param1", 5))
)

您还可以创建文本类型的子字段并使用匹配查询,但您的输入也可以匹配日期部分

您正在尝试筛选某个月内的日期?是的,我编辑了问题。我想现在已经很清楚了。