Проблема формата даты Solr в запросе - PullRequest
0 голосов
/ 07 июня 2011

Я пытаюсь реализовать запрос solr с помощью .NET, но получаю неверный запрос, когда пытаюсь подключиться к solr для поиска, поскольку мой формат даты неверен. Может ли кто-нибудь сказать мне точный синтаксис для создания формата даты в .net

Created_Dt: [12.12.2008 15:45 TO *]

Ответы [ 3 ]

5 голосов
/ 07 июня 2011

SolrNet уже выполняет преобразование в формат времени Solr для вас, вам нужно работать только со стандартным типом DateTime:

new SolrQueryByRange<DateTime?>("Created_Dt", new DateTime(2008, 12, 12, 15, 45, 0), null);
1 голос
/ 15 июня 2011

Я могу получить формат даты solr, используя код ниже,

DateTimeFieldSerializer date = new DateTimeFieldSerializer();

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

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

Это отлично работает, и теперь я могу искать, используя диапазон дат.

1 голос
/ 07 июня 2011

Вам необходимо выполнить поиск на основе 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 перед сохранением их .

...