【发布时间】:2012-01-30 05:10:34
【问题描述】:
我需要根据两个因素对从 apache solr 返回的结果进行排序:
我们的系统中有三个实体由 solr(组、项目和数据集)索引,在结果中我希望首先显示数据集,然后是项目,然后是组;但我仍然希望它尊重每种类型的分值。
因此,例如:结果将是
- 得分为 0.325 的数据集
- 得分为 0.282 的数据集
- 得分为 0.200 的数据集
- 得分为 0.298 的项目
- 项目得分为 0.186
- 得分为 0.360 的组
- 得分为 0.270 的组
我在 java 中执行此操作,并使用 solrj 构建 solr 查询。问题是当我尝试向 SolrQuery 对象添加 2 个排序字段时,它似乎只使用其中一个。同样在 solr 文档中没有任何说明实体类型的内容,但文档的 ID 以实体名称为前缀,所以我打算使用它。
如果有人对我如何实现这一点有任何想法,我将不胜感激,因为我已经坚持了一段时间了!
提前致谢, -杰克。
【问题讨论】:
标签: java search sorting solr solrj