Solr:在多值字段排序中使用查询参数

uplii1fm  于 2023-01-30  发布在  Solr
关注(0)|答案(1)|浏览(229)

我有一个日期字段:

Doc 1:
"date_dateM":["2023-01-31T00:00:00Z",
          "2023-02-07T00:00:00Z",
          "2023-02-14T00:00:00Z",
          "2023-02-21T00:00:00Z"],
Doc 2:
"date_dateM":["2023-01-16T00:00:00Z",
          "2023-01-23T00:00:00Z",
          "2023-01-30T00:00:00Z",
          "2023-02-06T00:00:00Z",
          "2023-02-13T00:00:00Z",
          "2023-02-20T00:00:00Z",
          "2023-02-27T00:00:00Z"],

如果我按date_dateM升序排序,我得到了Doc 1,因为它有2023-01-31。
我可以只使用查询,没有意见扩展solr配置。
用户从[2023-02-06 TO *]开始搜索,所以两个文档都在结果集中。我想在搜索范围内对结果进行排序。所以首先应该是文档2,因为它有一个06.02,然后是文档1(07.02)。
或者可以将date_dateM值减少到〉2023-02-06并在此之后排序,例如作为第二个查询?

ddarikpa

ddarikpa1#

目前,您不能按选择范围中的结果排序。
据我所知,当您按多值字段排序时,Solr只考虑最小值或最大值。
默认情况下,Solr获取最小值,但您也可以指定获取最大值:https://lucidworks.com/post/minmax-on-multivalued-field/
示例:

http://localhost:8983/solr/collection_name/select?indent=true&q.op=OR&q=date_dateM:[2023-01-31T00:00:00.000Z TO *]&sort=field(date_dateM,max) asc

相关问题