https://github.com/kentico/xperience-by-kentico-azure-ai-search
Azure AI Search integration for Xperience by Kentico
https://github.com/kentico/xperience-by-kentico-azure-ai-search
azure-ai-search dotnet xperience-by-kentico xperience-by-kentico-integrations
Last synced: 6 months ago
JSON representation
Azure AI Search integration for Xperience by Kentico
- Host: GitHub
- URL: https://github.com/kentico/xperience-by-kentico-azure-ai-search
- Owner: Kentico
- License: mit
- Created: 2023-12-15T13:51:42.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-11T08:10:43.000Z (6 months ago)
- Last Synced: 2025-04-12T19:09:22.943Z (6 months ago)
- Topics: azure-ai-search, dotnet, xperience-by-kentico, xperience-by-kentico-integrations
- Language: C#
- Homepage:
- Size: 16.8 MB
- Stars: 1
- Watchers: 14
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: docs/Contributing-Setup.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Xperience by Kentico Azure Search
[](https://github.com/Kentico/.github/blob/main/SUPPORT.md#full-support) [](https://github.com/Kentico/xperience-by-kentico-azure-ai-search/actions/workflows/ci.yml)
[](https://www.nuget.org/packages/Kentico.Xperience.AzureSearch)## Description
This integration enables you to create [AzureSearch](https://azure.microsoft.com/en-us/products/ai-services/ai-search) search indexes to index content of pages ([content types](https://docs.xperience.io/x/gYHWCQ) with the 'Page' feature enabled) from the Xperience content tree using a code-first approach. To provide a search interface for the indexed content, developers can use the [.NET API](https://learn.microsoft.com/en-us/azure/search/search-howto-dotnet-sdk), [JavaScript API](https://learn.microsoft.com/en-us/javascript/api/overview/azure/search-documents-readme?view=azure-node-latest) library.
## Library Version Matrix
| Xperience Version | Library Version |
| ----------------- | --------------- |
| >= 30.0.0 | >= 5.0.0 |
| >= 29.5.0 | >= 4.0.0 |
| >= 29.0.0 | >= 2.1.0 |
| >= 28.2.0 | >= 1.0.0 |### Dependencies
- [ASP.NET Core 8.0](https://dotnet.microsoft.com/en-us/download)
- [Xperience by Kentico](https://docs.xperience.io/xp/changelog)
- [Azure AI Search](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Search.Documents_11.6.0-beta.2/sdk/search/Azure.Search.Documents)## Package Installation
Add the package to your application using the .NET CLI
```powershell
dotnet add package Kentico.Xperience.AzureSearch
```## Quick Start
1. Add configuration from your Azure portal to the ASP.NET Core `appsettings.json` file:
```json
"CMSAzureSearch": {
"SearchServiceEndPoint": "",
"SearchServiceAdminApiKey": "",
"SearchServiceQueryApiKey": "",
// Opotionally add delay between indexing items.
// This is useful if there are a lot of pages and items on your web which when crawled would increase the performance requirements.
"IndexItemDelay" : 0
}
```2. Define a custom `BaseAzureSearchIndexingStrategy` implementation to customize how content pages/content items are processed for the index. See [`Custom-index-strategy.md`](docs/Custom-index-strategy.md)
3. Add this library to the application services, registering your custom `BaseAzureSearchIndexingStrategy` with type parameter `GlobalSearchModel` and Azure search services```csharp
// Program.cs
services.AddKenticoAzureSearch(builder =>
{
builder.RegisterStrategy("DefaultStrategy");
}, configuration);
```4. Create an index in Xperience's Administration within the Search application added by this library.

5. Rebuild the index in Xperience's Administration within the Search application added by this library.

6. Display the results on your site with a Razor View 👍.## Use DancingGoat sample
You can restore database with configured samples. View [DancingGoat Sample Database](./database/DancingGoat_AzureAISearch.bak).
## Full Instructions
View the [Usage Guide](./docs/Usage-Guide.md) for more detailed instructions.
## Contributing
To see the guidelines for Contributing to Kentico open source software, please see [Kentico's `CONTRIBUTING.md`](https://github.com/Kentico/.github/blob/main/CONTRIBUTING.md) for more information and follow the [Kentico's `CODE_OF_CONDUCT`](https://github.com/Kentico/.github/blob/main/CODE_OF_CONDUCT.md).
Instructions and technical details for contributing to **this** project can be found in [Contributing Setup](./docs/Contributing-Setup.md).
## License
Distributed under the MIT License. See [`LICENSE.md`](./LICENSE.md) for more information.
## Support
[](https://github.com/Kentico/.github/blob/main/SUPPORT.md#full-support)
This project has **Full support by 7-day bug-fix policy**.
See [`SUPPORT.md`](https://github.com/Kentico/.github/blob/main/SUPPORT.md#full-support) for more information.
For any security issues see [`SECURITY.md`](https://github.com/Kentico/.github/blob/main/SECURITY.md).