如何在solr查询中排序之前按分数限制

Zak*_*Zak 6 solr scoring

我正在搜索"产品文档".换句话说,我的solr文档是产品记录.我想说一下查询的前50个匹配产品.然后我希望能够按名称或价格对排名前50的得分文件进行排序.我没有看到如何做到这一点,因为按分数排序,然后按名称或价格排序将不会真正有用,因为分数是浮点数.

我不介意我是否可以做一些事情,比如将得分映射到范围(比如得分为8.0-8.99将进入8桶分数),然后按范围排序,然后按名称排序,但因为基本上没有归一化到得分,这仍然会让事情变得更难.

Tl; dr如何在排序之前从solr结果集中排除低得分文档?

Kar*_*son 4

frange只要您不想按分数排序(在这种情况下我想您可以在客户端进行过滤),您就可以使用它来实现此目的。

您的查询将类似于:

q={!frange l=5}query($qq)&qq=[awesome product]&sort=price asc
Run Code Online (Sandbox Code Playgroud)

将 q-frange-parameter 中的 l 参数设置为您要过滤分数的下限,并将 qq 参数替换为您的用户查询。