Are you sure you want to delete this access key?
Depending on the nature of any given bot, sometimes you want to present structured dialogs that take users through tight paths, while in other cases you want to help users navigate a large amount of content. In many cases you'll have a mix of dialogs of both kinds in a single bot.
These samples illustrate how to approach dialogs that need to help the user navigate large amounts of content, creating a data-driven exploration experience.
Content is modeled as a catalog of items where each item has several attributes that may be used for navigation, keyword search or display.
Real Estate Sample | Job Listing Sample |
---|---|
The minimum prerequisites to run this sample are:
The samples use Azure Search as the backend for these dialogs. This is an Azure service that offers most of the needed pieces of functionality, including keyword search, built-in linguistics, custom scoring, faceted navigation and more. Azure Search can also index content from various sources (Azure SQL DB, DocumentDB, Blob Storage, Table Storage), supports "push" indexing for other sources of data, and can crack open PDFs, Office documents and other formats containing unstructured data. The content catalog goes into an Azure Search index, which we can then query from dialogs.
As a good practice, all the Azure Search specific components are implemented in the Search.Azure project while implementation agnostic interfaces and models can be found in the Search.Contracts project.
The samples include a few different dialogs that are ready to use directly, or can be subtyped to override various pieces of functionality as needed:
You can find these dialogs in the Search.Dialogs project which is ready to reuse in your own bot.
To stitch together multiple instances of these dialogs and have filters and other search options carry over, you can use a shared instance of SearchQueryBuilder, which captures all the search-related state.
We included two samples here:
Emulator | Skype | |
---|---|---|
From there you can go back and forth between keyword search and refinement using region, city and type of property.
Emulator | Skype | |
---|---|---|
You can pick one or more properties and at the end you'll get a list of your choices (a real bot would probably contact your agent with your elections, or send you a summary email for future reference).
Emulator | Skype | |
---|---|---|
Emulator | Skype | |
---|---|---|
All samples target a shared, ready-to-use Azure Search service, so you don't need to provision your own to try these out.
To get more information about how to get started in Bot Builder for .NET please review the following resources:
LimitationsThe functionality provided by the Bot Framework Activity can be used across many channels. Moreover, some special channel features can be unleashed using the ChannelData property.
The Bot Framework does its best to support the reuse of your Bot in as many channels as you want. However, due to the very nature of some of these channels, some features are not fully portable.
The features used in these samples are fully supported in the following channels:
- Skype
- Microsoft Teams
- Telegram
- DirectLine
- WebChat
- Slack
- GroupMe
They are also supported, with some limitations, in the following channel:
On the other hand, they are not supported and the sample won't work as expected in the following channels:
- SMS
- Kik
Press p or to see the previous file or, n or to see the next file
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?
Are you sure you want to delete this access key?