簡體   English   中英

Solr:在多值字段中使用查詢參數進行排序

[英]Solr: Use query params in sort in multivalued field

我有一個帶日期的字段:

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 asc 排序,我得到的是 Doc 1,因為它有 2023-01-31。

我只能使用查詢,沒有意見擴展 solr 配置。

用戶從 [2023-02-06 TO *] 搜索,所以兩個文檔都在結果集中。 我想在搜索范圍內對結果進行排序。 所以首先應該是 Doc 2,因為它有一個 06.02,然后是 Doc 1 (07.02)。

solr可以嗎? 或者是否可以將 date_dateM 值減少到 > 2023-02-06 並在之后排序,例如作為第二個查詢?

目前,您無法按 select 范圍內的結果進行排序。

據我所知,當您按多值字段排序時,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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM