我正在尝试使用 .NET 实现 solr 查询,但是当我尝试连接到 solr 进行搜索时,我收到了错误的请求,因为我的日期格式错误。谁能告诉我在 .net 中创建日期格式的确切语法
Created_Dt :[2008 年 12 月 12 日下午 3:45 到 *]
SolrNet 已经为您完成了到 Solr 时间格式的转换,您只需要使用标准DateTime
类型:
new SolrQueryByRange<DateTime?>("Created_Dt", new DateTime(2008, 12, 12, 15, 45, 0), null);
您需要根据UTC 时间图进行搜索。下面是一些生成它的示例 .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 格式。
我可以使用下面的代码获取 solr 日期格式,
DateTimeFieldSerializer date = new DateTimeFieldSerializer();
string fromDt = date.SerializeDate(searchCriteria.From);
string toDt = date.SerializeDate(searchCriteria.To);
这工作正常,我现在可以使用日期范围进行搜索..