可以对文档的“得分”进行排序,也可以对任何multiValued =“false”indexed =“true”字段进行排序,前提是该字段是非标记化的(即:没有分析器)或使用分析器只产生一个Term(即:使用KeywordTokenizer)
docs: - http://wiki.apache.org/solr/CommonQueryParameters#sort
我的原始架构是(您可以考虑以下是GROUP-BY): -
如果允许在multiValued上进行排序,则
我可以轻松获得某些用户评论的产品清单,
然后按last_activity_date排序。
然而,它不起作用。
我目前的解决方法是将模式反转为: -
这意味着我(有点)设法获得某些用户评论的产品列表,
按last_comment_date排序,
当然它会导致重复产品
因为产品将出现在每个用户的评论中。
任何模拟分组效果的建议。
之间,我使用solr 3.1 现场坍塌不适用。
答案 0 :(得分:5)
按多值字段排序不仅仅是待处理或可以修补的内容。
它不可能完成,因为它没有任何意义。
执行此操作的方法是为每个文档创建一个单值字段(在索引时填充最后一个日期),然后对其进行排序。即当索引遍历用户列表及其上一个活动日期时,查找最新日期,并将其分配给文档的last-activity-date字段。