MongoDB Vector Search now supports vector search against nested embeddings and arrays of embeddings.

XMLWordPrintableJSON

    • Type: Epic
    • Resolution: Unresolved
    • Priority: Critical - P2
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Vector Search over Nested Embeddings and Arrays of Embeddings
    • Needed
    • Hide
      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?
      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • To Do
    • None
    • None
    • None
    • Hide

      DRIVERS-3308:
      Builder-only feature (no wire-protocol change). Two areas:

      • Vector index builder: accept a vector field path that points into a nested document or array of embeddings (dotted/embedded path), not just a top-level field.
      • $vectorSearch builder: allow nested/array path; add parent-document filtering that emits parentFilter (instead of filter) and, for arrays of embeddings, a way to set the score-combination mode.
      • ⚠️ Compat gotcha: filter works on server 8.0 + 8.3; parentFilter is 8.3+ only. Emit parentFilter only when the caller explicitly opts into parent filtering — don't rewrite an existing filter, or you break 8.0 (regressed then fixed in C#: PR #1975).
      • ⚠️ Server limitation: mongot (≤0.65.1 / Atlas Local) returns 0 results when filter is combined with a nestedRoot index, so the nested filter codepath can't be validated end-to-end yet — see CSHARP-5840.

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

      • No shared spec/prose tests exist for this feature — builder-only, covered by driver-specific tests.
      • C# POC: mongo-csharp-driver PR #1900 (initial nested/array support) + PR #1975 (filter/parentFilter 8.0-vs-8.3 fix). C# tickets: CSHARP-5762 (Dev Complete), CSHARP-5985 (Closed). API added: VectorSearchOptions.NestedFilter + EmbeddedScoreMode; nested paths in CreateVectorSearchIndexModel.

      Context for referenced/linked tickets

      • Splits: JAVA-5987 (Backlog — not started), PHPLIB-1733 (Done), C# (done). Initiative DRIVERS-3316; cloud parent CLOUDP-260588.
      • Blocked validation: CSHARP-5840 (mongot filter + nestedRoot).
      • Sibling builder features for precedent: DRIVERS-3309 (lexical prefilters), DRIVERS-3300 (storedSource).
      Show
      DRIVERS-3308 : Builder-only feature (no wire-protocol change). Two areas: Vector index builder: accept a vector field path that points into a nested document or array of embeddings (dotted/embedded path), not just a top-level field. $vectorSearch builder: allow nested/array path; add parent-document filtering that emits parentFilter (instead of filter) and, for arrays of embeddings, a way to set the score-combination mode. ⚠️ Compat gotcha: filter works on server 8.0 + 8.3; parentFilter is 8.3+ only. Emit parentFilter only when the caller explicitly opts into parent filtering — don't rewrite an existing filter, or you break 8.0 (regressed then fixed in C#: PR #1975). ⚠️ Server limitation: mongot (≤0.65.1 / Atlas Local) returns 0 results when filter is combined with a nestedRoot index, so the nested filter codepath can't be validated end-to-end yet — see CSHARP-5840 . Commits for syncing spec/prose tests (or language POC) No shared spec/prose tests exist for this feature — builder-only, covered by driver-specific tests. C# POC: mongo-csharp-driver PR #1900 (initial nested/array support) + PR #1975 (filter/parentFilter 8.0-vs-8.3 fix). C# tickets: CSHARP-5762 (Dev Complete), CSHARP-5985 (Closed). API added: VectorSearchOptions.NestedFilter + EmbeddedScoreMode; nested paths in CreateVectorSearchIndexModel. Context for referenced/linked tickets Splits: JAVA-5987 (Backlog — not started), PHPLIB-1733 (Done), C# (done). Initiative DRIVERS-3316; cloud parent CLOUDP-260588. Blocked validation: CSHARP-5840 (mongot filter + nestedRoot). Sibling builder features for precedent: DRIVERS-3309 (lexical prefilters), DRIVERS-3300 (storedSource).
    • None
    • None
    • None
    • None
    • None
    • None
    • None

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

            Assignee:
            Unassigned
            Reporter:
            TPM Jira Automations Bot
            None
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              None
              None
              None
              None
              None