Solr多值日期字段按查询范围内值排序的实现咨询
Solr多值日期字段按查询范围内值排序的实现方法
这种需求完全可以通过Solr的函数查询实现,无需二次查询或修改配置,具体方案如下:
核心思路:针对每个文档,提取出符合查询范围
[2023-02-06 TO *]的date_dateM字段值,取其中的最小日期作为排序依据,按该值升序排列即可让Doc2(含2023-02-06)排在Doc1(含2023-02-07)之前。具体查询参数:
q=date_dateM:[2023-02-06 TO *] sort=min(query(date_dateM:[2023-02-06 TO *])) asc原理说明:
query(date_dateM:[2023-02-06 TO *])会筛选出当前文档中落在指定日期范围内的所有date_dateM值;min()函数从筛选出的数值中提取最小日期;- 最终按这个最小日期升序排序,就能满足需求。
内容的提问来源于stack exchange,提问作者trick
相关产品推荐
相关产品推荐

