基于多个术语的 Azure 搜索建议

Azure Search suggestions based on multiple terms

我有一家网上杂货店,产品有这样的属性:

我希望我的 Azure 搜索解决方案向用户推荐所需的产品,而不考虑搜索词的顺序(减肥百事可乐,1 罐百事可乐,1 罐百事可乐),但没有成功。

我想知道,是否唯一的方法是计算一个包含所有可能排列的 "keywords cloud" 并将此 "keywords cloud" 字段用作建议字段?此类 "keywords cloud" 字段值的示例:"Pepsi diet 1 can diet Pepsi 1 can Pepsi".

Azure 搜索解决方案以某种方式解决问题,但我无法使用它,因为它不支持提前输入 (AFAIK)。

任何见解将不胜感激。

建议是为您想要逐步发现一个短语的情况而构建的。在您的情况下,您似乎想要以任何顺序在文档中搜索任何单词。为此,您可以简单地发出搜索请求,而不是在每次击键时发出建议请求。这将执行关键字搜索,这似乎就是您要查找的内容。

如果您希望最后一个单词被视为部分输入,假设您的目标语言使用空格分隔单词,您可以执行以下技巧:获取输入文本,拆分出最后一个单词(即从字符串的末尾,直到找到 non-character/number 符号),然后生成 "original-minus-last (last|last*)" 形式的字符串。例如,如果输入是 "Can Pepsi Di",您将生成 "Can Pepsi (Di|Di*)".