Фильтр Solr по годам на TrieDateField
1151 просмотра
1 ответ
Моя схема Solr имеет тип tdate
поля классаsolr.TrieDateField
<field name="timestamp" type="tdate" indexed="true" stored="true" default="NOW"/>
Поэтому, когда я добавляю документы в индекс, поле временной метки выглядит так:
"timestamp": "2015-11-03T15:52:51.418Z"
Теперь, чтобы отфильтровать все документы текущего года, я добавляю фильтр диапазона к запросу:
/select?q=*:*&fq=timestamp:[NOW/YEAR TO NOW/YEAR+1YEAR}
Но как бы я фильтровал за любой год, скажем, 2014?
Единственное, что я мог придумать, это создать диапазон дат, охватывающий весь год от первой до последней миллисекунды:
/select?q=*%3A*&wt=json&indent=true&fq=timestamp:[2014-01-01T0:00:00.000Z TO 2014-12-31T23:59:59.999Z}
Есть ли способ получить тот же результат, просто передав год в виде четырехзначной строки?
Автор: Richard Osseweyer Источник Размещён: 12.11.2019 09:53Ответы (1)
0 плюса
Я полагаю, что после некоторых исследований TrieDateField не сможет отфильтровать данные по годам, кроме предложенного решения. Вам понадобится solr.DateRangeField
для этого.
Однако в строку запроса можно добавить один аргумент, сообщающий Solr, как следует понимать NOW
, - это epoch
время (миллисекунды), выбранное в году, по которому мы хотим выполнить фильтрацию.
&fq=timestamp:[NOW/YEAR TO NOW/YEAR+1YEAR}&NOW=1388534400000
1388534400000
представляет полночь 1 января 2014 года. Но любая другая epoch
временная метка, представляющая момент в 2014 году, будет в порядке.
https://cwiki.apache.org/confluence/display/solr/Working+with+Dates
Автор: Richard Osseweyer Размещён: 05.11.2015 12:55Вопросы из категории :
- solr Обновить определенное поле в индексе SOLR
- solr Построение индексов Solr через Haystack приводит к неизвестной ошибке поля
- solr Распределенная Lucene.NET
- solr Может ли Solr загружать необработанный индекс Lucene?
- solr django-haystack: how to access the spelling suggestions on the template?
- solr Как выбрать различные значения поля с помощью Solr?
- solr Мне нужно отсортировать аспекты, которые возвращаются из SOLR по релевантности
- solr Индексирование и запрос URL-адресов в Solr
- solr Как я могу увидеть все данные, которые индексирует solr?
- solr Вы можете удалить поле из документа в индексе Solr?
- solr Как исправить ошибку «Размер запрашиваемого массива превышает ограничение виртуальной машины» в Java?
- solr Solr запрос с пробелами
- solr Вставка значений в логические поля Solr
- solr SOLR Релевантная сортировка
- solr Solr MoreLikeThis / mlt обработчик возвращает ошибку 404
- solr Как ИЛИ нулевое значение в запросе Apache Solr?
- solr Доступ к значениям предка в xpath с помощью Solr DataImportHandler
- solr Решить неправильно сортировать текстовые поля
- solr SolrNet: Как я могу использовать SolrNet с длинным URL?
- solr Общее количество обработанных документов = 0, хотя общее число выбранных строк не равно нулю при использовании Solr с базой данных Oracle