Ну, я кодирую некоторые методы для возврата solr docs, которые обрабатывают интервал дат интервала. Документы хранят поля даты с ISO 8601.
Любая идея?
ТНХ
Ну, я кодирую некоторые методы для возврата solr docs, которые обрабатывают интервал дат интервала. Документы хранят поля даты с ISO 8601.
Любая идея?
ТНХ
Зайдите в SOLR wiki для некоторых документов и примеров:
timestamp: [* TO NOW]
createdate: [1976-03-06T23: 59: 59.999Z TO *]
createdate: [1995-12-31T23: 59: 59.999Z TO 2007-03-06T00: 00: 00Z]
pubdate: [NOW-1YEAR/DAY TO NOW/DAY + 1DAY]
createdate: [1976-03-06T23: 59: 59.999Z TO 1976-03-06T23: 59: 59.999Z + 1YEAR]
createdate: [1976-03-06T23: 59: 59.999Z/YEAR TO 1976-03-06T23: 59: 59.999Z]
Надеюсь, это поможет, Дэвид.
Здесь вы найдете более подробную информацию о запросах диапазона
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 *]
Квадратные скобки [] означают инклюзивный запрос диапазона, который соответствует значениям, включая верхнюю и нижнюю границы.
Кудрявые скобки {} означают эксклюзивный запрос диапазона, который соответствует значениям между верхней и нижней границами, но исключая сами верхнюю и нижнюю границы.
Предположим, что ваше поле в Schema равно 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 *]