• Type: Sub-task
    • Resolution: Fixed
    • Priority: Unknown
    • 2.4.0
    • Affects Version/s: None
    • Component/s: AI/ML, Builder
    • None
    • Hide

      DRIVERS-3309:
      Builder-only feature (no wire-protocol change). Adds vectorSearch as a top-level operator inside $search ({ $search: { vectorSearch:

      {...}

      } }), so the prefilter can use analyzed-text / Lucene operators (compound, text, etc.) instead of the limited MQL filter on the standalone $vectorSearch aggregation
      stage. Goal: migrate customers off the deprecated $search.knnBeta.

      • Search builder: add a vectorSearch search-operator builder — (path, queryVector, limit, options, score) — alongside the existing $search operators.
      • Options: prefilter Filter is a search-definition (analyzed-text), not an MQL filter; plus numCandidates, exact.
      • Query vector: accept un-vectorized text as the query (auto-embedding), in addition to numeric/binary vectors.

      Commits for syncing spec/prose tests (or language POC)

      • Spec: mongodb/mql-specifications PR #45 (linked on this ticket, 2026-05-26).
      • C# POC: mongo-csharp-driver PR #1843 (CSHARP-5812). Tickets: CSHARP-5770 (epic, Dev Complete), CSHARP-5812 (Closed). API added: SearchDefinitionBuilder.VectorSearch(...), VectorSearchOperatorOptions<TDocument> (Filter / NumberOfCandidates / Exact), and QueryVector(string text) for un-vectorized
        queries.

      Context for referenced/linked tickets

      • Splits: JAVA-5996 (Dev Complete), PHPLIB-1739 (Closed), C# (done). Initiative DRIVERS-3316; cloud parent CLOUDP-252495.
      • Readiness: TSEXP-3467 (DRIVER-10 — type & builder support for lexical prefilters).
      • Sibling builder features (same Search/VectorSearch surface): DRIVERS-3308 (nested embeddings), DRIVERS-3300 (storedSource).
      Show
      DRIVERS-3309 : Builder-only feature (no wire-protocol change). Adds vectorSearch as a top-level operator inside $search ({ $search: { vectorSearch: {...} } }), so the prefilter can use analyzed-text / Lucene operators (compound, text, etc.) instead of the limited MQL filter on the standalone $vectorSearch aggregation stage. Goal: migrate customers off the deprecated $search.knnBeta. Search builder: add a vectorSearch search-operator builder — (path, queryVector, limit, options, score) — alongside the existing $search operators. Options: prefilter Filter is a search-definition (analyzed-text), not an MQL filter; plus numCandidates, exact. Query vector: accept un-vectorized text as the query (auto-embedding), in addition to numeric/binary vectors. Commits for syncing spec/prose tests (or language POC) Spec: mongodb/mql-specifications PR #45 (linked on this ticket, 2026-05-26). C# POC: mongo-csharp-driver PR #1843 ( CSHARP-5812 ). Tickets: CSHARP-5770 (epic, Dev Complete), CSHARP-5812 (Closed). API added: SearchDefinitionBuilder.VectorSearch(...), VectorSearchOperatorOptions<TDocument> (Filter / NumberOfCandidates / Exact), and QueryVector(string text) for un-vectorized queries. Context for referenced/linked tickets Splits: JAVA-5996 (Dev Complete), PHPLIB-1739 (Closed), C# (done). Initiative DRIVERS-3316; cloud parent CLOUDP-252495. Readiness: TSEXP-3467 (DRIVER-10 — type & builder support for lexical prefilters). Sibling builder features (same Search/VectorSearch surface): DRIVERS-3308 (nested embeddings), DRIVERS-3300 (storedSource).
    • None
    • Not Needed
    • None
    • None
    • None
    • None
    • None
    • None

      This ticket was split from DRIVERS-3309, please see that ticket for a detailed description.

            Assignee:
            Jérôme Tamarelle
            Reporter:
            TPM Jira Automations Bot
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 1 week
                1w
                Remaining:
                Remaining Estimate - 1 week
                1w
                Logged:
                Time Spent - Not Specified
                Not Specified