2009-06-11 3 views
0

В моей базе данных Lucene/Solr содержится столбец дат (created_at), который мне нужно использовать в качестве условия в запросе.solr query with ruby ​​- необходимо сравнить дату время

Я новичок в RoR и предполагаю, что RoR автоматически использует свой собственный объект даты на anyObject.save и что Solr в свою очередь переиндексирует этот столбец по-своему.

Несмотря на это, дата в следующем формате: «2008-06-03 11:15:20»

Я могу написать быстрый парсер для разбора моих строк запроса в такой формат, но когда я запрашиваю

Object.find (ключевое слово: Foo created_at> = '2008-06-03 11:15:20')

Solr бросает ошибку синтаксического анализа. Я пробовал несколько стандартных вариантов этого без успеха. Какие-либо предложения?

ответ

2

Мне не нравится спрашивать очевидное, но вы проверили документы solr для языка запросов для дат?

http://wiki.apache.org/solr/SolrQuerySyntax

и опыт свидетельствует о том, что "> =" не является допустимым оператором Solr. Вы можете делать запросы диапазона в полях даты, но с использованием правильного формата с вашим примером запроса будет:

Object.find("keyword:foo AND created_at:[2008-06-03T11:15:20.000Z TO *]")