Solr:如果两者具有相同的值,则更改文档的顺序
Solr: change order of documents if both have same value
如果特定值等于以前文档中的值,是否可以对 SOLR 结果进行这样的修改,从而改变文档的顺序?例如拆分同一家商店的产品。
目前我直接在 PHP 中执行此操作,但我只能更改一个特定页面上的文档顺序,但在该页面的末尾,我有两行文档具有相同的 shop_id彼此相邻。
是否可以直接在SOLR中实现类似的东西?理想的解决方案是具有相同 shop_id 的产品将被具有不同 shop_id 的其他产品分开 - 我知道这可能会影响 SOLR 分数。
模型:
Current state
After applying modifications in PHP
Ideal solution
由于大多数用例与此类似 - 不建议直接在 Solr 中应用这些更改,因为根据设计,Solr 对这些要求非常抽象。所有需要的操作应该发生在客户端端或API级别。
虽然我必须承认,您可以在 Solr 中做任何事情,但这很可能需要编写自定义 Solr 组件,这会使您的部署过程复杂化受益。
关于单页问题,您可以尝试请求更大的页面大小,例如20 但仅向用户显示前 N 个,然后根据需要应用渲染逻辑
如果特定值等于以前文档中的值,是否可以对 SOLR 结果进行这样的修改,从而改变文档的顺序?例如拆分同一家商店的产品。
目前我直接在 PHP 中执行此操作,但我只能更改一个特定页面上的文档顺序,但在该页面的末尾,我有两行文档具有相同的 shop_id彼此相邻。
是否可以直接在SOLR中实现类似的东西?理想的解决方案是具有相同 shop_id 的产品将被具有不同 shop_id 的其他产品分开 - 我知道这可能会影响 SOLR 分数。
模型:
Current state
After applying modifications in PHP
Ideal solution
由于大多数用例与此类似 - 不建议直接在 Solr 中应用这些更改,因为根据设计,Solr 对这些要求非常抽象。所有需要的操作应该发生在客户端端或API级别。
虽然我必须承认,您可以在 Solr 中做任何事情,但这很可能需要编写自定义 Solr 组件,这会使您的部署过程复杂化受益。
关于单页问题,您可以尝试请求更大的页面大小,例如20 但仅向用户显示前 N 个,然后根据需要应用渲染逻辑