Solr如何按照年月日facet分层查询

这里假设我们的时间字段是 timestamp

在 schema.xml 配置如下:

1
<field name="timestamp" type="date" indexed="true" stored="true" default="NOW+8HOUR" multiValued="false"/>

查询参数如下:

1
facet=true&facet.date=timestamp&facet.date.start=NOW/DAY-1DAY&facet.date.end=NOW/DAY%2B1DAY&facet.date.gap=%2B1DAY

参数解释

facet=true 开启分层检索

facet.date=timestamp 按时间分层检索的字段 (timestamp)

facet.date.start=NOW/DAY-1DAY 分层检索开始的时间:前一天 = 当天零点 (NOW/DAY) - 一天 (-1DAY)

facet.date.end=NOW/DAY%2B1DAY 分层检索结束的时间:明天 = 当天零点 (NOW/DAY) + 一天 (+1DAY)
加 (+) 号从 URL 提交时要 urlencode 得到 %2B

facet.date.gap=%2B1DAY 分层检索的间隔:每一天一组 +1DAY
加 (+) 号从 URL 提交时要 urlencode 得到 %2B

NOW, HOUR, DAY, MONTH, YEAR 都是可以用的

© 2025 Solr Community of China All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero