|
| 1 | +# 36. Use Azure AI Search for solution search |
| 2 | + |
| 3 | +Date: 2026-07-15 |
| 4 | + |
| 5 | +## Status |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | +## Context |
| 10 | + |
| 11 | +The application currently uses Elasticsearch/OpenSearch-style search for solutions, with the infrastructure historically backed by the Bonsai add-on on Heroku. |
| 12 | + |
| 13 | +That approach works for keyword search, but it keeps the application tied to a separate search service and to legacy Heroku infrastructure. It also limits future improvements in search relevance and discovery. |
| 14 | + |
| 15 | +We want solution search to align more closely with the application's Azure hosting. We also want a search platform that can grow into richer retrieval approaches, including embeddings, vector search, and semantic ranking. Those features are not practical to introduce with the current Elasticsearch approach in this project. |
| 16 | + |
| 17 | +Category search is not part of this change and continues to use the Contentful API directly. |
| 18 | + |
| 19 | +## Decision |
| 20 | + |
| 21 | +Use Azure AI Search as the search backend for solutions. |
| 22 | + |
| 23 | +The Azure implementation will replace the existing Elasticsearch/OpenSearch solution search path while keeping category search on Contentful. |
| 24 | + |
| 25 | +This decision allows us to: |
| 26 | + |
| 27 | +- retire the dependency on the Heroku Bonsai add-on; |
| 28 | +- keep the search infrastructure aligned with the rest of the Azure-hosted application; |
| 29 | +- create a path to improve search relevance with Azure AI Search features such as embeddings, vector search, and semantic ranking; |
| 30 | +- keep the current solution indexing and querying logic under application control rather than depending on the older search stack. |
| 31 | + |
| 32 | +## Consequences |
| 33 | + |
| 34 | +### Positive |
| 35 | + |
| 36 | +- Removes the dependency on Bonsai/Heroku for solution search |
| 37 | +- Aligns solution search with Azure hosting |
| 38 | +- Creates a path to richer AI-assisted search features later |
| 39 | +- Keeps category search unchanged and low risk |
| 40 | + |
| 41 | +### Risks / Considerations |
| 42 | + |
| 43 | +- Azure AI Search still needs explicit indexing and maintenance within the application |
| 44 | +- Search relevance will need to be validated against the existing solution search behaviour |
| 45 | +- If the Azure service is unavailable, solution search will need a clear fallback or operational response |
| 46 | +- The existing Elasticsearch/OpenSearch path should remain available during migration and comparison until Azure search is proven |
0 commit comments