0

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

Created_Dt :[2008 年 12 月 12 日下午 3:45 到 *]

4

3 回答 3

5

SolrNet 已经为您完成了到 Solr 时间格式的转换,您只需要使用标准DateTime类型:

new SolrQueryByRange<DateTime?>("Created_Dt", new DateTime(2008, 12, 12, 15, 45, 0), null);
于 2011-06-07T14:11:13.317 回答
1

您需要根据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 格式

于 2011-06-07T13:37:37.733 回答
1

我可以使用下面的代码获取 solr 日期格式,

DateTimeFieldSerializer date = new DateTimeFieldSerializer();

string fromDt = date.SerializeDate(searchCriteria.From);

string toDt = date.SerializeDate(searchCriteria.To);

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

于 2011-06-15T09:34:32.727 回答