首页 > 解决方案 > 根据构面计数从最低到最高对 solr 进行排序

问题描述

这是我的方面查询

http://localhost:8983/solr/test_words/select?q=*:*&facet=true&facet.field=keyword

在搜索时,我得到的结果是根据从最高到最低的方面计数排序的

示例:{“and”:10,“to”:9,“also”:8}

但相反,我希望根据从最低到最高的方面计数对结果进行排序

示例:{“泰米尔语”:1,“英语”:2,“法语”:3}

我也试过

http://localhost:8983/solr/test_words/select?q=*:*&facet=true&facet.field=keyword&facet.sort=count

这没有给出预期的结果。请帮助我!

标签: solrfacet

解决方案


asc据我所知,“旧”方面界面不支持排序- 它总是从最常见的术语到最不常见的术语进行排序。

然而,JSON facet API确实支持ascdesc用于排序:

sort - 指定如何对生成的桶进行排序。

count指定文档计数,index按桶值的索引(自然)顺序排序。还可以按存储桶中出现的任何方面函数/统计数据进行排序。默认值为count desc. 此参数也可以在 JSON 中指定,例如sort:{count:desc}. 排序顺序可以是ascdesc

  "facet": {
    keywords: {
      "type": "terms",
      "field": "keyword",
      "sort": "count asc",
      "limit": 5
    }
  }

推荐阅读