2017-04-24 20 views
2

我在我的电子商务网站上使用Azure搜索,现在我遇到了在搜索页上分页的问题。当我重新加载搜索页面时,我可以获得不同的产品订单。所以,当我使用分页功能时,我可以在不同的页面上看到相同的产品,这非常重要。在搜索结果具有相同分数时在Azure搜索中进行寻呼

我开始研究什么错,我发现微软的文档此信息https://docs.microsoft.com/en-us/rest/api/searchservice/add-scoring-profiles-to-a-search-index#what-is-default-scoring

搜索分值可以在整个结果集进行重复。例如,对于 示例,您可能有10个项目的得分为1.2,20个项目的得分为1.0, 得分为1.0,而20个项目的得分为0.5。当多个匹配点 具有相同的搜索分数时,相同得分项目的排序不是定义为 ,并且不稳定。再次运行查询,您可能会看到 项目移位。给定两个具有相同分数的项目, 不能保证哪一个先出现。

所以,如果我得到它正确的,我面临这个问题,因为产品具有相同的得分。

如何解决这个问题?

回答

2

你弄明白了!因为你得到的产品有相同的分数,所以不能保证哪一个先出现。 为了避免它在这个阶段,您可以添加到您的$ orderby参数具有唯一值的字段,并以这种方式保证相同的顺序。但是,这种方法不考虑评分。我们目前正在研究解决这个问题的方法。一旦解决方案可用,我们将更新此答案(此时的ETA是几周,而不是几个月)。