【发布时间】:2014-05-01 14:40:44
【问题描述】:
我们使用 Lucene.Net 在网站上进行产品搜索。对于一个类别,我们获取与具有类别唯一 ID 的字段类别完全匹配的所有产品。
对于一个客户,我们要求在没有其他标准的情况下按特定顺序列出产品。这些是按类别排列的,一个产品可以出现在多个类别中。所以我们不能只拥有一个全局订单字段。对于开箱即用的 Lucene.net 解决方案,我的第一个想法是为产品的每个类别设置一个字段,其中包含排序顺序。但是,如果有很多类别,这将无法很好地扩展。
一旦输入了搜索词或选择了一个方面,我们就会使用常规评分系统按照最佳匹配对产品进行排序。但是,当只有一个类别的术语查询时,我们希望能够按特定顺序对它们进行排序。
有没有办法使用可以接受 ID 列表或类似列表并据此对它们进行评分的自定义记分器来执行此操作?本质上,我们需要做的是按照数据库表或其他外部源中指定的顺序对 Lucene 搜索结果进行排序。
【问题讨论】:
标签: c# sorting lucene.net