Radzen Blazor Components

Blazor DataGrid Semantic Search

Search a Blazor DataGrid by meaning instead of exact words. "Something to drink" finds the beverages and "Italian cheese" finds Gorgonzola and Mozzarella, even though none of the rows contain those words.

Every row is turned into a short description and embedded once with the IEmbeddingGenerator from IAIChatService.GetEmbeddingGenerator() - the one registered in the service collection or the built-in OpenAICompatibleEmbeddingGenerator configured by AIChatServiceOptions.EmbeddingsModel and EmbeddingsEndpoint. The query is embedded the same way and the rows are ranked by cosine similarity with TensorPrimitives.CosineSimilarity; the top matches are shown with their score. For large data sets store the vectors next to the rows, or in a vector database, instead of computing them on the page.

Frequently asked questions

How does semantic search work in the DataGrid?

Each row is turned into a short text and embedded once with IAIChatService.GetEmbeddingGenerator(). A query is embedded the same way and the rows are ranked by cosine similarity, so 'something to drink' finds beverages.

Radzen Blazor Newsletter

Get an email when new components and releases ship.

We care about your data. Read our Privacy Policy.

All the tools in one place

Save Hours on Every Project

With Radzen Blazor subscription you get the full toolkit, including:

Dedicated support backed by proven expertise

Premium themes and theme editor

Ready-to-use UI blocks

Complete app templates

Visual design-time-experience

Radzen Blazor Studio

Radzen Blazor Components, © 2018-2026 Radzen.
Source Code licensed under MIT

Demos Configuration

Premium Themes

  • Material 3
  • Material 3 Dark
  • Material 3 Expressive
  • Material 3 Expressive Dark
  • Zen
  • Zen Dark
  • Fluent
  • Fluent Dark

Free Themes

  • Material
  • Material Dark
  • Standard
  • Standard Dark
  • Default
  • Dark
  • Humanistic
  • Humanistic Dark
  • Software
  • Software Dark
An error has occurred. This app may no longer respond until reloaded. Reload 🗙