小编TFo*_*For的帖子

Solr/Lucene得分手

我们目前正在为使用Solr的客户进行概念验证,并且能够配置除评分之外的所有功能.

问题是他们想要得分使结果落在桶中:

  • 铲斗1:类别完全匹配(得分= 4)
  • 铲斗2:名称完全匹配(得分= 3)
  • 第3栏:类别的部分匹配(得分= 2)
  • Bucket 4:名称部分匹配(得分= 1)

我们做的第一件事就是开发一个自定义相似度类,它会根据字段和精确或部分匹配返回正确的分数.

现在唯一的问题是,当文档在类别和名称上匹配时,分数会加在一起.

示例:搜索"餐馆"会返回类别餐厅中的文档,这些文档在其名称中也包含"餐馆"一词,因此得分为5(4 + 1)但他们只能获得4分.

我假设为了这个工作,我们需要开发一个自定义的Scorer类,但我们不知道如何在Solr中加入它.另一种选择是创建一个类似于Solr中已存在的RandomSortField的自定义SortField实现.

也许甚至还有一个我们不了解的简单解决方案.

欢迎所有建议!

lucene solr

11
推荐指数
1
解决办法
4838
查看次数

标签 统计

lucene ×1

solr ×1