EF-281: Support building "Atlas" search indexes#264
Open
ajcvickers wants to merge 1 commit intomainfrom
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request adds comprehensive support for building MongoDB Atlas search indexes through a fluent API in Entity Framework Core. The feature enables developers to define and create search indexes declaratively through the model builder, with support for both static and dynamic mappings across various field types.
Key Changes
- Introduced fluent API for configuring Atlas search indexes with support for multiple field types (autocomplete, boolean, date, geo, number, objectId, string, token, uuid)
- Added comprehensive test coverage with 4200+ lines of functional tests and negative test cases
- Extended database creation infrastructure to handle search index creation and lifecycle management
Reviewed changes
Copilot reviewed 86 out of 89 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| SearchIndexTests.cs | Comprehensive functional tests covering all search index types and configurations |
| SearchIndexNegativeTests.cs | Error handling tests for invalid search index configurations |
| MongoDatabaseCreator.cs | Extended to support creating and waiting for search indexes alongside vector indexes |
| IMongoDatabaseCreator.cs | Interface updates for search index methods |
| Metadata/Search/* | 50+ new classes defining search index structure, builders, and configuration options |
| SingleEntityDbContext.cs | Refactored to use CollectionNamespace instead of string collection names |
| ConnectionTests.cs | Updated to use renamed test context class |
| VectorIndexOptions.cs | Documentation updates changing "Atlas" to "MongoDB" |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
tests/MongoDB.EntityFrameworkCore.FunctionalTests/Storage/SearchIndexTests.cs
Outdated
Show resolved
Hide resolved
tests/MongoDB.EntityFrameworkCore.FunctionalTests/Storage/SearchIndexTests.cs
Outdated
Show resolved
Hide resolved
tests/MongoDB.EntityFrameworkCore.FunctionalTests/Storage/SearchIndexTests.cs
Outdated
Show resolved
Hide resolved
tests/MongoDB.EntityFrameworkCore.FunctionalTests/Storage/SearchIndexTests.cs
Outdated
Show resolved
Hide resolved
tests/MongoDB.EntityFrameworkCore.FunctionalTests/Storage/SearchIndexTests.cs
Outdated
Show resolved
Hide resolved
tests/MongoDB.EntityFrameworkCore.FunctionalTests/Storage/SearchIndexTests.cs
Outdated
Show resolved
Hide resolved
tests/MongoDB.EntityFrameworkCore.FunctionalTests/Storage/SearchIndexTests.cs
Outdated
Show resolved
Hide resolved
tests/MongoDB.EntityFrameworkCore.FunctionalTests/Storage/SearchIndexTests.cs
Outdated
Show resolved
Hide resolved
...ongoDB.EntityFrameworkCore/Metadata/Search/Definitions/WordDelimiterGraphFilterDefinition.cs
Outdated
Show resolved
Hide resolved
src/MongoDB.EntityFrameworkCore/Metadata/Search/Definitions/SearchIndexDefinitionExtensions.cs
Show resolved
Hide resolved
5eaa7c6 to
24f5547
Compare
24f5547 to
bb24d53
Compare
bb24d53 to
e12c58d
Compare
Fluent API for building search indexes.
e12c58d to
dd2eeb1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fluent API for building search indexes.