microsoft / microsoft/semantic-kernel

.Net: [MEVD] Add Batch Search

Open
#13,079 13 comments 0 reactions 1 assignee View on GitHub

@roji is already working on this.

Since Sep 9, 2025.

.NET msft.ext.vectordata stale triage
Dominant language
C#
Stars
28.6k
Forks
4.8k
Avg merge
14h 13m
Merged PRs (30d)
18

Description


[MEVD] Add Batch Search

I am authoring a high-performance library for AI applications and would like to introduce MEVD as the baseline abstraction for integration with vector searches.

However, most AI applications perform batch operations, and some vector stores have batch capabilities or at least the ability to submit multiple requests in a single round trip.

The current MVDE search abstraction only enables a single query at a time, limiting my ability to harness when possible the batch capabilities of the underlying storage.
Can we add a new abstraction that the different vector stores can optionally implement for batch operations?

Then I can do a capability test in my code:

if (vectorStore is IBatchSearchableVectorStore)
{
     var groupedResult = await vectorStore.BatchQueryAsync(batch, ...);
     // use results
}

If we can also have adapters for a vector store that will perform serial / parallel queries that would be cool, but that is easy to add in our code once the interface exists.

All names (interface, methods, ...) are TBD.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.