Solr:如果两者具有相同的值,则更改文档的顺序

Solr: change order of documents if both have same value

如果特定值等于以前文档中的值,是否可以对 SOLR 结果进行这样的修改,从而改变文档的顺序?例如拆分同一家商店的产品。

目前我直接在 PHP 中执行此操作,但我只能更改一个特定页面上的文档顺序,但在该页面的末尾,我有两行文档具有相同的 shop_id彼此相邻。

Sorting in PHP

是否可以直接在SOLR中实现类似的东西?理想的解决方案是具有相同 shop_id 的产品将被具有不同 shop_id 的其他产品分开 - 我知道这可能会影响 SOLR 分数。

模型:

Current state

After applying modifications in PHP

Ideal solution

由于大多数用例与此类似 - 不建议直接在 Solr 中应用这些更改,因为根据设计,Solr 对这些要求非常抽象。所有需要的操作应该发生客户端端或API级别。

虽然我必须承认,您可以在 Solr 中做任何事情,但这很可能需要编写自定义 Solr 组件,这会使您的部署过程复杂化受益。

关于单页问题,您可以尝试请求更大的页面大小,例如20 但仅向用户显示前 N 个,然后根据需要应用渲染逻辑