我目前有一个功能齐全的基于虚拟助手模板的聊天机器人,并且具有附加的技能。我的目标是将该技能用作一种搜索功能,可以在CosmosDB中查找资源并将其拉回以供用户使用。经过一些研究,我相信最好的方法是使用Azure搜索来检索所说的信息。从我在Virtual Assistant模板文档中看到的与Azure搜索的集成绝对应该是可能的...我只是没有找到任何有关此操作的示例或教程。如果有人知道如何创建天蓝色搜索资源并将其集成到bot中,或者知道可以告诉您如何执行此操作的资源,请告诉我!
答案 0 :(得分:0)
对于您的情况,要做的事情概述是:
没有关于与机器人集成的端到端教程,但是这里有一个Azure搜索教程,它显示了通过SQL数据库进行爬网然后使用全文本搜索进行搜索的完整方案。 https://docs.microsoft.com/en-us/azure/search/search-indexer-tutorial
除了上面链接中Cosmos DB Indexer的详细信息替换有关SQL indexer的部分之外,您应该能够遵循此处的大多数指南。
答案 1 :(得分:0)
我想进行类似的搜索(仅在AzureBlob中而不是Cosmos DB中)。我正在将sdk v4用于我的bot框架和Visual Studio2019。我正在尝试通过以下代码调用该服务:
public ISearchIndexClient CreateSearchIndexClient()
{
string searchServiceName = "MySearchServiceName";
string queryApiKey = "MySearchServiceKey";
string indexName = "MyIndexName";
SearchIndexClient indexClient = new SearchIndexClient(searchServiceName, indexName, new SearchCredentials(queryApiKey));
return indexClient;
}
public async Task StartAsync(ITurnContext turnContext, string searchText){
ISearchIndexClient infoClient = CreateSearchIndexClient();
string indexname = infoClient.IndexName;
DocumentSearchResult<Document> results = infoClient.Documents.Search(searchText);
await turnContext.SendActivityAsync(MessageFactory.Text($"Here should be the results: {results} \n...and then my index: {indexname}."));
}
它可以正常运行,因此可以使用它。但是它永远不会在StartAsync上显示该消息。如果有人看到我想念的东西,请先谢谢你。