“展平”或将多重排序预排序为单一排序

问题描述 投票:0回答:0

给定一个弹性搜索索引或一个普通的 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 与所有其他产品相比是高阶还是低阶

我的理解:这是我的要求似乎比排序更符合定制排名算法

我的问题:是否可以轻松地将多排序转换为排名分数或“扁平化”排序……类似的东西,否则我将不得不手动编写所有分数计算代码?

database sorting elasticsearch ranking
© www.soinside.com 2019 - 2024. All rights reserved.