1

我有一家在线杂货店,产品具有以下属性:

  • 产品名称(百事可乐,7UP)
  • 容器(1瓶,1罐)
  • 变体名称(饮食,最大)

我希望我的 Azure 搜索解决方案能够建议用户所需的产品,而不管搜索词顺序如何(饮食百事可乐、1 罐百事可乐、1 罐百事可乐),但没有运气。

我想知道,如果这样做的唯一方法是计算一个“关键字云”,它将包含所有可能的排列,并将这个“关键字云”字段用作建议字段?此类“关键字云”字段值的示例:“Pepsi Diet 1 can Diet Pepsi 1 can Pepsi”。

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

任何见解将不胜感激。

4

1 回答 1

1

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

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

于 2015-05-20T07:14:48.510 回答