【问题标题】:Controlling Solr score/sort控制 Solr 分数/排序
【发布时间】:2010-06-10 06:59:42
【问题描述】:

我想过滤某个范围内的属性,但没有该属性的项目应该在结果中排​​在最后。如果没有设置属性,我的解决方案是设置为-1

+(property:[10000000001 TO 10000000019] property:"-1"^0.5)

这不起作用,因为出于某种原因,每个具有属性:-1 的文档都会获得非常高的分数。有没有办法可靠地控制这里的排序?

提高范围反而意味着我必须提高每隔一个术语,我宁愿不这样做。

【问题讨论】:

    标签: search lucene filter solr


    【解决方案1】:

    值为 -1 的属性会被提升,因此删除它会给您带来更好的结果。

    此外,如果缺少某个属性,请保留它。不要将其设置为 -1。

    您可以在查询中使用sort=property desc 对结果进行排序,或者在使用sortMissingLast=true 进行索引时对属性进行排序

    【讨论】:

    • 感谢您的回答!如果我不将缺少的属性设置为-1,查询会是什么样子?如果我使用sortMissingLast+(property:[10000000001 TO 10000000019]) 真的会返回没有property 的文档吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2012-01-13
    • 1970-01-01
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    相关资源
    最近更新 更多