给定一个弹性搜索索引或一个普通的 SQL 数据库,我对其进行了多排序查询。假设我有 15 个排序标准用于单个查询。有没有一种方法可以将这 15 个标准展平或预排序为单个数值?
示例:想象一组已排序的产品文档
- By availability
- Then by sale percentage
- Then by remaining SKU
- Then by price
那些排序标准是否可以转换为每个文档的数值? 让我们说
ProductA
- Is available
- Sales is at 5%
- Remaining SKU = 10
- Price = 600
Has a numeric value of 10 (Very high order)
ProductB
- Is not available
- Sales is at 0%
- Remaining SKU = 0
- Price = 10000
Has a numeric value of 10000 (Very low order)
然后对于稍后创建的任何 ProductC、D、E、F,我们可以计算其数值以立即判断 ProductC 与所有其他产品相比是高阶还是低阶
我的理解:这是我的要求似乎比排序更符合定制排名算法
我的问题:是否可以轻松地将多排序转换为排名分数或“扁平化”排序……类似的东西,否则我将不得不手动编写所有分数计算代码?