2016-01-26 39 views
0

從peewee文檔:Peewee rank()方法給出負分。它是否被設計爲這樣做?

生成,將計算並返回 搜索匹配質量的表達式。這個排名可以用來排序搜索結果。 等級越低,匹配得越好。

我目前正在測試Peewee提供的全文搜索功能。該文件提到,較低的分數是更好的比賽,但我得到的是負分數,是否旨在返回負分數?

查詢:

query = (models.Post 
     .select(models.Post.title, models.Post.content, models.FTSPost.rank().alias('score')) 
     .join(models.FTSPost, on=(models.Post.id == models.FTSPost.post_id)) 
     .where(models.FTSPost.match(search_query)) 
     .order_by(models.SQL('score').desc())) 

回答

1

是的,它給負分,這樣,當你訂購的排名(升序)你在正確的順序結果。

這可能與您在我的博客上發現的內容相沖突,例如,早期版本沒有這樣做,並且需要按分數降序排列。

但是,基本上,如果您使用較新版本的peewee,只需按比分ASCending排序,您應該可以。

相關問題