[CSHARP-3437] Implement builder for $search (Atlas Search) Created: 26/Feb/21  Updated: 28/Oct/23  Resolved: 20/Jan/23

Status: Closed
Project: C# Driver
Component/s: Builders
Affects Version/s: None
Fix Version/s: 2.19.0

Type: Epic Priority: Major - P3
Reporter: James Kovacs Assignee: Boris Dogadov
Resolution: Fixed Votes: 1
Labels: buildfest, size-large
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Quarter: FY23Q4
Case:
Start date:
End date:
Calendar Time: 6 weeks
Scope Cost Estimate: 4
Cost to Date: 3
Final Cost Estimate: 3
Cost Threshold %: 100
Detailed Project Statuses:

Engineer: Boris

Summary: Implement builder for $search

2023-01-06: Maintaining target end date of 2023-01-13
Status update:

  • In Code Review

2022-12-22: Updated target end date to 2023-01-13
Status update:

  • This is code complete and in review now
  • Pushed out the end date to add more time for reviews since multiple people are OOO this week and next

2022-12-09: Setting end date to 2022-12-30

Status update:

  • POC with basic functionality completed
  • Incorporating MongoDB.Labs.Search library in-progress

 Description   

Although we support Atlas Search ($search), it requires the use of EmptyPipelineDefinition<T>().AppendStage() and opaque JSON strings.

https://mongodb.github.io/mongo-csharp-driver/2.11/reference/driver/crud/reading/#text-search

This is problematic because there is no refactoring support, no strong typing, and no mapping (e.g. you must refer to fields by their database names, not their application-level names).

We could make $search easier to use and more discoverable from our driver if we provided a builder and/or aggregation stage that enabled the use of strong typing as we do with other query-related operations.


Generated at Wed Feb 07 21:45:16 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.