Azure 搜索配置文件中的负增长

问题描述 投票:0回答:5

我们一直致力于为我们的搜索创建评分配置文件。在评分函数类型为“大小”、“新鲜度”、“标签”的情况下,我们需要一种方法来“埋葬”或对某些字段给予“负”提升。我们注意到我们不能为 boost 添加负值。有没有其他方法可以实现这种行为(根据字段埋藏结果) 我们不能使用 $OrderBy,因为它优先于评分配置文件。

请指教。谢谢!

search boost profile azure-cognitive-search scoring
5个回答
0
投票

您应该只设置正的提升值,如

[here][1]
所述。您可能可以做一些事情。我要尝试的第一件事是将您不关心的字段的权重设置为 0。在这种情况下,它们根本不会影响相关性。

另一种选择:如果您知道某个字段不应影响相关性,您可以简单地将该字段设置为不可“搜索”。 也就是说,这是索引定义的属性 - 因此您需要为不可搜索字段的每个组合创建不同的索引。

根据您的场景,您还可以使字段可过滤,并根据该字段进行过滤。类似于 $filer=Freshenss eq '真正新鲜'。 有关使用过滤器的更多信息,请参阅此链接

谢谢! -路易斯·卡布雷拉


0
投票

对于“Magnitude”、“Freshness”,您可以将范围开始设置为较高值,将范围结束设置为较低值。这会被视为负面影响吗?

像这样: enter image description here


0
投票

我通过为我们想要掩埋的字段创建负值(使用

INT
字段)解决了这种情况。这给了我们所需的负面推动。

我也对日期“新鲜度”使用了类似的技术,我们计算了某个事件的天数,数字越高,日期的新鲜度就越低,并使用了“大小”函数。

谢谢!


0
投票

我也想过这个的必要性。

我有但没有尝试过的一个想法是仅对否定关键字进行第二次搜索。 该搜索结果也会有分数。

然后在函数中使用这些分数来减少第一个搜索结果分数。

(是的,如果能作为 ACS 的一部分就更好了)


0
投票

如果对仍在寻找此内容的人有帮助:我认为由于评分配置文件提升是一个乘数,因此您可以通过将提升因子设置为分数来实现此目的。

例如: Boost 2 将使与该过滤器匹配的搜索得分加倍。 Boost 0.5 将使匹配该过滤器的搜索分数减半

因此,您可以根据您希望负提升的强度调整分数来实现负提升。当然,根据您的业务规则,将这些项目完全从搜索中过滤出来可能更有意义。

© www.soinside.com 2019 - 2024. All rights reserved.