Azure 搜索配置文件的负面提升

Negative boost in Azure Search Profiles

我们一直致力于为我们的搜索创建评分配置文件。在评分函数类型 "Magnitude"、"Freshness"、"Tags" 的情况下,我们需要一种方法 "bury" 或 "negative" 提升某些字段。我们注意到我们不能为 boost 添加负值。有没有其他方法可以实现这种行为(根据领域隐藏结果) 我们不能使用 $OrderBy,因为它优先于评分配置文件。

请指教。谢谢!

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

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

根据您的情况,您还可以将字段设置为可筛选,并根据该字段进行筛选。类似于 $filer=Freshenss eq 'Really Fresh'。有关使用过滤器的更多信息,请参阅 this link

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

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

像这样:

我通过为我们想要掩埋的字段创建负值(使用 INT 字段)解决了这个问题。这给了我们所需的负面推动力。

我也对日期 "Freshness" 使用了类似的技术,我们计算了某个事件的天数,数字越大,日期越不新鲜,并为此使用了 "magnitude" 函数。

谢谢!

我也想过需要这个。

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

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

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