我正在尝试使用.NET实现solr查询,但是当我尝试连接到solr进行搜索时我收到了错误的请求,因为我的日期格式错误。任何人都可以告诉我创建日期格式的确切语法在.net
Created_Dt:[12/12/2008 3:45 PM TO *]
答案 0 :(得分:5)
SolrNet已经为您转换为Solr时间格式,您只需要使用标准DateTime
类型:
new SolrQueryByRange<DateTime?>("Created_Dt", new DateTime(2008, 12, 12, 15, 45, 0), null);
答案 1 :(得分:1)
您需要根据UTC timestmap进行搜索。下面是一些生成它的.NET代码示例:
DateTime dt = DateTime.Now.ToUniversalTime();
System.Diagnostics.Debug.WriteLine(dt.ToString("yyyy-MM-ddTHH:mm:ssZ"));
使用您的示例字段查询将使用该格式:
Created_Dt:[2011-06-07T13:35:47Z TO NOW]
另外,请务必将日期转换为UTC format before you store them。
答案 2 :(得分:1)
我可以使用下面的代码获取solr日期格式,
DateTimeFieldSerializer date = new DateTimeFieldSerializer();
string fromDt = date.SerializeDate(searchCriteria.From);
string toDt = date.SerializeDate(searchCriteria.To);
此工作正常,我现在可以使用日期范围进行搜索..