Solr搜索与排序问题

1、场景描述

在商城中一个商品可以关联多个虚拟分类,并且每个商品在不同的虚拟分类中都有不同的展示顺序。

因为商品所拥有的虚拟分类是零或多的情况。所以没办法用普通的字段来存储商品在虚拟分类中的展示顺序。

2、商品的Solr数据结构如下:

{
        "id": 715243,
        "productId": 340004,
        "name": "花漾甜心 香水",
        "virtualCategoriesId": [
          90008,
          2005,
          1
        ]
      },
      {
        "id": 449536,
        "productId": 272006,
        "name": "金龙鱼盘锦大米5KG",
        "virtualCategoriesId": [
          2005,
          1
        ]
      }

请问Solr如何能做到根据不同的虚拟分类进行展示排序哇?

阅读 1.5k
1 个回答
一种没试过的猜想,利用 Solr动态字段
  • https://www.w3cschool.cn/solr...

    {
          "id": 715243,
          "productId": 340004,
          "name": "花漾甜心 香水",
          "virtualCategoriesId": [
            90008,
            2005,
            1
          ]
          ,
          "virtualCategoriesIdSort_90008_i":123,
          "virtualCategoriesIdSort_2005_i":2,
          "virtualCategoriesIdSort_1_i":3
          
        },
        {
          "id": 449536,
          "productId": 272006,
          "name": "金龙鱼盘锦大米5KG",
          "virtualCategoriesId": [
            2005,
            1
          ],
          "virtualCategoriesIdSort_2005_i":3,
          "virtualCategoriesIdSort_1_i":2
        }
    
    
  • 查询 90008 类目时 使用 virtualCategoriesIdSort_90008_i 进行排序
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进