0

.NET を使用して solr クエリを実装しようとしていますが、日付形式が間違っているため、検索のために solr に接続しようとすると、不正な要求が返されます。.net で日付形式を作成するための正確な構文を教えてください。

Created_Dt :[2008 年 12 月 12 日午後 3 時 45 分まで *]

4

3 に答える 3

5

DateTimeSolrNet はすでに Solr 時刻形式への変換を行っています。標準型を使用するだけで済みます。

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

以下のコードを使用して、Solrの日付形式を取得できます。

DateTimeFieldSerializer date = new DateTimeFieldSerializer();

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

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

これは正常に機能し、日付範囲を使用して検索できるようになりました。

于 2011-06-15T09:34:32.727 に答える
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 形式に変換してください。

于 2011-06-07T13:37:37.733 に答える