Solr выбирает диапазоны дат - PullRequest
28 голосов
/ 28 апреля 2009

Ну, я кодирую некоторые методы для возврата solr документов, которые могут быть в интервале дат. Документы сохраняют поля даты в формате ISO 8601.

Есть идеи?

ТНХ

Ответы [ 3 ]

68 голосов
/ 28 апреля 2009

Проверьте в SOLR wiki для некоторых документов и примеров:

отметка времени: [* TO NOW]

Создано: [1976-03-06T23: 59: 59.999Z TO *]

Создано: [1995-12-31T23: 59: 59.999Z - 2007-03-06T00: 00: 00Z]

pubdate: [СЕЙЧАС-1ГОД / ДЕНЬ СЕЙЧАС / ДЕНЬ + 1ДЕНЬ]

Создано: [1976-03-06T23: 59: 59.999Z ДО 1976-03-06T23: 59: 59.999Z + 1 ГОД]

Создано: [1976-03-06T23: 59: 59.999Z / ГОД К 1976-03-06T23: 59: 59.999Z]

Надеюсь, это поможет, Дэвид.

32 голосов
/ 04 октября 2013

Здесь вы найдете более подробную информацию о запросах диапазона

https://cwiki.apache.org/confluence/display/solr/The+Standard+Query+Parser

Несколько примеров

1. Exact Matching: q= modify_date:"2012-07-06T9:23:43Z"
2. Less than: q= modify_date:{* TO 2012-07-06T9:23:43Z } 
3. More than: q= modify_date:{ 2012-07-06T9:23:43Z TO *}
4. Less or equal than: modify_date:[* TO 2012-07-06T9:23:43Z] 
5. More or equal than: modify_date:[ 2012-07-06T9:23:43Z TO *]

Квадратные скобки [] обозначают запрос инклюзивного диапазона, который соответствует значениям, включая верхнюю и нижнюю границы.

Вьющиеся скобки {} обозначают исключительный запрос диапазона, который сопоставляет значения между верхней и нижней границами, но исключая сами верхнюю и нижнюю границы.

3 голосов
/ 29 мая 2015

Предположим, что ваше поле в схеме имеет вид Modified_Date, тогда вы можете применить следующие диапазонные запросы:

Modified_Date:[2015-04-20T07:49:00Z TO *]
Modified_Date:[2015-04-20T07:49:00Z TO 2015-05-
20T07:33:00Z]
Modified_Date:[2015-04-20T07:49:00Z TO NOW]
Modified_Date:[NOW-7DAY/DAY TO NOW]
Modified_Date:"2015-05-27T10:04:00Z"
Modified_Date:NOW
Modified_Date:NOW/DAY
Modified_Date:NOW/HOUR
Modified_Date:NOW-1YEAR
Modified_Date:NOW-2YEARS
Modified_Date:NOW-3HOURS-30MINUTES
Modified_Date:"2008-07-04T13:45:04Z/DAY"
Modified_Date:[* TO NOW]
Modified_Date://DAY
Modified_Date://HOUR
Modified_Date:[ * 2015-04-20T07:49:00Z ]
Modified_Date:[2015-04-20T07:49:00Z *]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...