我希望我的Azure搜索解决方案能够推荐用户所需的产品,无论搜索条件顺序如何(饮食百事可乐,1可以百事可乐,百事可乐1可以),但没有运气。
我想知道,如果这样做的唯一方法是计算一个“关键字云”,其中包含所有可能的排列,并使用此“关键字云”字段作为建议字段?这种“关键词云”字段值的例子:“百事可乐饮食1可以饮食百事可乐1可以百事可乐”。
Azure搜索搜索解决方案以某种方式解决了这个问题,但我不能使用它,因为它不支持typeahead(AFAIK)。
任何见解都将受到赞赏。
答案 0 :(得分:1)
建议适用于您希望逐步发现短语的情况。在您的情况下,您想要的是以任何顺序搜索文档中的任何单词。为此,您可以在每次击键时发出搜索请求而不是建议请求。这将执行关键字搜索,这似乎是您正在寻找的。 p>
如果您希望将最后一个单词视为部分输入,您可以执行以下操作,假设您使用空格分隔单词的语言:取输入文本,拆分最后一个单词(即从结尾处向后移动)字符串,直到找到一个非字符/数字符号),然后生成一个形式为“original-minus-last(last | last *)”的字符串。例如,如果输入为“Can Pepsi Di”,则您将生成“Can Pepsi(Di | Di *)”。