在SQL中,您可以通过以下表达式进行排序:
SELECT * FROM a
ORDER BY CASE WHEN a.Category = 20 THEN 1 ELSE 0 DESC
Run Code Online (Sandbox Code Playgroud)
所以有类别= 20的记录是最重要的.
这在Solr有可能吗?
Solr没有if/then(至少不到4.0),但它确实有一个map函数,并且能够在你的排序中使用函数查询.你可以在你的排序中使用这样的东西来实现你所追求的目标:
?q=*&sort=map(category,20,20,case,0),score desc
Run Code Online (Sandbox Code Playgroud)
(另)
这是一个讨论if语句使用map的线程.
| 归档时间: |
|
| 查看次数: |
11569 次 |
| 最近记录: |