我想对bot实施自动完成搜索。例如,bot应该从Mongo Database获得响应作为自动完成选项。有人可以建议不使用Azure搜索怎么做吗?
我曾尝试像this那样实现,但就我而言,我想从数据库中获取标签。
我可以知道执行此操作的可用选项是什么吗?
答案 0 :(得分:1)
当您从漫游器发送消息时,可以将自动完成选项添加到活动的渠道数据中。然后,在Web Chat中,您可以使用自定义商店中间件来检索选项并更新JQuery Auto完整小部件。
Bot Framework SDK v4(C#)
var reply = turnContext.Activity.CreateReply();
reply.Text = "Hello, World!";
reply.ChannelData = JObject.FromObject( new {
autocompleteOptions = new List<string>() { "Option 1", "Option 2", "Option 3" }
});
await turnContext.SendActivityAsync(reply);
网络聊天第4版
const store = createStore(
{},
({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/INCOMING_ACTIVITY') {
const { payload: { activity: { channelData: { autcompleteOptions } = {}}}} = action;
if (autcompleteOptions) {
// Update JQuery Autcomplete Widget with `autocompleteOptions`
}
}
return next(action);
}
);
有关更多详细信息,请查看Incoming Event网络聊天示例和此堆栈溢出answer。
希望这会有所帮助!