查询中的Solr Date Format问题

时间:2011-06-07 12:38:31

标签: solr solrnet

我正在尝试使用.NET实现solr查询,但是当我尝试连接到solr进行搜索时我收到了错误的请求,因为我的日期格式错误。任何人都可以告诉我创建日期格式的确切语法在.net

Created_Dt:[12/12/2008 3:45 PM TO *]

3 个答案:

答案 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);

此工作正常,我现在可以使用日期范围进行搜索..