2013-09-27 4 views
0

Мне нужно создать страницу поиска ezfind с функциями даты. Для фильтра SOLR я попытался использовать что-то вроде этого: attr_publish_date_dt: [NOW-6MONTH TO NOW], но я не получаю никакого результата. Если я использую его так: attr_publish_date_dt: [* TO NOW], он работает. Но все запросы без звездочки в левой руке не работают.SOLR Диапазон дат

attr_publish_date_dt содержит временную метку unix, поэтому я также попытался использовать 2 временных метки из результата attr_publish_date_dt: [* TO NOW] вместо [NOW-6MONTH TO NOW], но затем я также не получаю результатов.

Может ли кто-нибудь мне помочь? Заранее спасибо Frank

+0

Какие Solr версии? Вы используете TrieDateField? '[NOW-6MONTH TO NOW]' отлично работает для меня в solr 4.2.1 с определением поля даты '' – arun

+0

мы используем SOLR 2.2, потому что версия публикации ez, которую мы используем, не поддерживает более высокую версию SOLR. – DeeFour

ответ

0

Поиск по дате поддерживается в поле даты. Вам нужно будет определить поле этого типа и указать даты в формате ISO-8601.

http://lucene.apache.org/solr/4_4_0/solr-core/org/apache/solr/schema/DateField.html

Если вы не можете правильно отформатировать метку времени перед отправкой его в Solr, вы можете быть в состоянии использовать DateFormatTransformer или ScriptTransformer, чтобы сделать работу.

http://wiki.apache.org/solr/DataImportHandler#DateFormatTransformer http://wiki.apache.org/solr/DataImportHandler#ScriptTransformer

+0

спасибо за ваш ответ, мы проверим наши скрипты импорта, чтобы исправить эту проблему. – DeeFour

Смежные вопросы