How to sort by date in SOLR?

前端 未结 2 872
离开以前
离开以前 2021-01-17 09:14

I want to sort the results and scores returning from SOLR search,how I can get scores based on date like below:

Suppose for keywords \"football\"
  12-10-201         


        
相关标签:
2条回答
  • 2021-01-17 09:36

    taken from the wiki

    Although not technically a Syntax difference, please note that if you use 
    the Solr "DateField" type, any queries on those fields (typically range queries) 
    should use either the Complete ISO 8601 Date syntax that field supports, 
    or the DateMath Syntax to get
    relative dates. Examples:
    
    timestamp:[* TO NOW]
    
    createdate:[1976-03-06T23:59:59.999Z TO *]
    
    createdate:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z]
    
    pubdate:[NOW-1YEAR/DAY TO NOW/DAY+1DAY]
    
    createdate:[1976-03-06T23:59:59.999Z TO 1976-03-06T23:59:59.999Z+1YEAR]
    
    createdate:[1976-03-06T23:59:59.999Z/YEAR TO 1976-03-06T23:59:59.999Z] 
    
    NOTE:TO must be uppercase, or Solr will report a 'Range Goop' error. 
    

    combine that with this and the job is done :) it's pretty easy, it just requires some tries in the beginning

    a little edit: this method allows you to retrieve values based on a date range and apply a score boost to them according to their values. apparently you were asking help on how to retrieve sort on base score and date, so my answer isn't the 100% correct one

    0 讨论(0)
  • 2021-01-17 09:42

    You can pass the sort parameter in the URL

    e.g. sort=published_date desc for documents by published date in descending order.

    If you want to sort by score and date you can use sort=score desc, published_date desc

    0 讨论(0)
提交回复
热议问题