Algolia:如何在结果页面中实现自定义特色产品?

时间:2016-11-14 22:34:34

标签: algolia

我想在某些搜索结果页面上显示特定产品(移至结果顶部)。只执行一次搜索。自定义排名属性可以提高所有页面的产品排名,而不是某些页面。

一个有点工作的解决方案是添加一个属性,如“featuredin”:“[searchterm]”,并将“featuredin”移动到可搜索属性的顶部。但是,具有类似searchterm的产品可能会出现在错误的页面上。 例: 有产品有“特色”:“iphone”,产品有“特色”:“iphone配件”。由于在'featuredin'属性中搜索'iphone'也会对带有“featuredin”的产品点击:“iphone配件”,我在iphone搜索结果中获得了iphone配件。

如果有办法强制属性的'true'完全匹配,则此解决方案可以正常工作。但我找不到那样的东西。

感谢。

1 个答案:

答案 0 :(得分:4)

实际上有一种很好的方法可以使用“可选”方面过滤器来实现这种行为(即将发布的高级功能 - 截至2016/11/15)。

“可选构面过滤器”是一个构面过滤器,它不需要匹配来检索结果,但是 - 默认情况下 - 确保首先检索具有构面值的命中(感谢{{1 Algolia打破平局排名公式的标准。)

这正是您想要的:在您希望首先检索共享filters值的某些结果的每个页面上;只需使用featuredin可选构面过滤器查询Algolia索引。

  • 确保您的featuredin:"a value"属性属于featuredin索引设置
  • 在查询时,使用attributesForFacet
  • 查询索引

您可以在this (beta) documentation page上阅读更多内容。