2015-12-15 1 views
2

У меня есть схема, в которой мы записываем время регистрации устройства в поле devRegDt_dt.как применить фасет в поле даты, где результат должен предоставить количество записей для данной даты

Наша служба хранит время регистрации устройства в этом поле и хранится в формате 2015-09-24T14:05:08Z.

Мы хотели бы создать запрос, который должен обеспечить результат, как: «2015-09-24»: 5

т.е. "DATE": <occurances>

Обратите внимание, что мы игнорируем время этого результата и только считая дата.

На всякий случай, если это дубликат, пожалуйста, помогите с соответствующим вопросом.

Спасибо.

+0

спасибо @younghobbit для редактирования – navaltiger

ответ

2

Вы можете огранять поле даты.
Образец запроса:
http://localhost:8888/solr/lws-map/select?q=*%3A*&wt=json&fl=id&indent=true&facet.range=**facetfield**&facet=true&facet.range.start=NOW-10YEAR&facet.range.end=NOW&facet.range.gap=%2B1MONTH
Выше запроса фасет за последние 10 лет документы и пробел составляет 1 месяц. если вы хотите посчитать день мудрый, тогда измените facet.range.gap до XXXDAY
Подробнее о формате даты solr на solr wiki.

+0

Спасибо Rahul. Еще один вопрос: когда я выполнил запрос в соответствии с параметрами фасета, время поля показывало 6:12 ... Надеюсь, это ОК! – navaltiger

+0

Также я предлагаю вам использовать facet.range.start = NOW/MONTH & facet.range.end = NOW/Month, чтобы получить согласованное количество в ведрах. Solr внутренне преобразует эти выражения в метку времени, и если вы не округлите диапазоны, то меняется каждое второе значение диапазона. –

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