我正在尝试使用.NET实现solr查询,但由于我的日期格式错误,我尝试连接到solr进行搜索,所以我收到了错误的请求。可以任何一个人告诉我确切的语法来创建.NET查询中的Solr日期格式问题
Created_Dt日期格式:[2008/12/12 3:45 PM TO *]
我正在尝试使用.NET实现solr查询,但由于我的日期格式错误,我尝试连接到solr进行搜索,所以我收到了错误的请求。可以任何一个人告诉我确切的语法来创建.NET查询中的Solr日期格式问题
Created_Dt日期格式:[2008/12/12 3:45 PM TO *]
我可以使用下面的代码获得Solr的日期格式,
DateTimeFieldSerializer date = new DateTimeFieldSerializer();
string fromDt = date.SerializeDate(searchCriteria.From);
string toDt = date.SerializeDate(searchCriteria.To);
这工作正常,我可以使用日期范围现在搜索..
您需要根据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。
SolrNet已经不转换为你Solr的时间格式,你只需要与标准DateTime
类型的工作:
new SolrQueryByRange<DateTime?>("Created_Dt", new DateTime(2008, 12, 12, 15, 45, 0), null);
但是日期格式呢?你的意思是说我们必须以字符串格式存储日期。 – 2012-08-01 13:14:12