.NET を使用して solr クエリを実装しようとしていますが、日付形式が間違っているため、検索のために solr に接続しようとすると、不正な要求が返されます。.net で日付形式を作成するための正確な構文を教えてください。
Created_Dt :[2008 年 12 月 12 日午後 3 時 45 分まで *]
DateTime
SolrNet はすでに Solr 時刻形式への変換を行っています。標準型を使用するだけで済みます。
new SolrQueryByRange<DateTime?>("Created_Dt", new DateTime(2008, 12, 12, 15, 45, 0), null);
以下のコードを使用して、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 形式に変換してください。