小编dil*_*ash的帖子

ElasticSearch 从每个类别中选择一个得分最高的产品

我正在尝试查询包含产品信息的ES索引,其中包含product_id、category_id和variant_id字段。每个产品都属于特定类别和变体:

{
    "product_id" : "PRODUCT_12345",
    "category_id" : 1,
    "variant_id" : 5
}
Run Code Online (Sandbox Code Playgroud)

我还有 Product_id 及其分数列表:

[{'product_id': 'PRODUCT_46831', 'score': 1}, {'product_id': 'PRODUCT_47139', 'score': 0.95}, {'product_id': 'PRODUCT_46833', 'score': 0.8999999999999999}, {'product_id': 'PRODUCT_46834', 'score': 0.8499999999999999}, {'product_id': 'PRODUCT_46835', 'score': 0.7999999999999998}]

这些分数是使用算法计算的,每个 Product_id 都存在于 ES 中。我想过滤列表,以便从每个类别和变体中仅选择一种产品。应从每个类别和变体中选择得分最高的产品。因此,对于上面的列表,如果PRODUCT_46831, PRODUCT_47139, PRODUCT_46833属于category 1. PRODUCT_46834, PRODUCT_46835属于category 2。PRODUCT_46831, PRODUCT_46834属于variant 1和PRODUCT_46833, PRODUCT_47139, PRODUCT_46835属于variant 2,类别分组将创建列表[PRODUCT_46831, PRODUCT_46834],因为PRODUCT_46831, PRODUCT_46834这些类别中得分最高的产品:

对variant_id进一步分组PRODUCT_46831, PRODUCT_46834将创建结果:

[PRODUCT_46831]

因为PRODUCT_46831, PRODUCT_46834 …

elasticsearch elasticsearch-dsl elasticsearch-aggregation

5
推荐指数
1
解决办法
275
查看次数

Spring boot liquibase添加两个2引用url路径

我试图将 liquibase 与 spring boot 集成,我试图在实体和数据库表之间生成差异。根据文件,应定义:

liquibase.properties 文件中的referenceUrl 属性将告诉实体目录路径,而url 属性将告诉数据库位置。

我能够为mvn liquibase:diff一个实体路径生成差异。

问题是我有两个实体目录路径,我如何在referenceUrl中包含两个路径,这将在这两个路径中定义的实体与数据库url之间进行比较。

谢谢

liquibase spring-boot

3
推荐指数
1
解决办法
1184
查看次数