Solr:如果两个文件的值相同,则更改它们的顺序

时间:2019-02-13 14:07:35

标签: php solr lucene

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

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

Sorting in PHP

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

模型:

Current state

After applying modifications in PHP

Ideal solution

1 个答案:

答案 0 :(得分:0)

由于大多数用例与此类似,因此不建议直接在Solr中应用更改,因为从设计上来说Solr与这些要求非常抽象。 应在客户端端或 API 级别进行所有必需的操作。

尽管我必须承认,您可以在Solr中做任何事情,但很可能这将需要编写自定义的Solr组件,这会使复杂化,使您的部署过程很多,并带来一点好处。

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