Doctrine ODM: Add VectorSearch stage to aggregation builder

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Fixed
    • Priority: Unknown
    • doctrine-2.13.0
    • Affects Version/s: None
    • Component/s: Doctrine
    • None
    • PHP Drivers
    • Not Needed
    • None
    • None
    • None
    • None
    • None
    • None

      Add the vectorSearch stage to aggregation builder.

      $dm->getRepository(Face::class)
         ->createAggregationBuilder()
         ->hydrate(VectorSearchResult::class)
         ->vectorSearch()
             ->index('descriptions')
             ->path('descriptionEmbeddings')
             ->filter(
                 $builder->matchExpr()
                     ->field('id')
                     ->notEqual($face->id)
             )
             ->numCandidates($limit * 20)
             ->queryVector($face->descriptionEmbeddings)
             ->limit($limit)
         ->project()
             ->field('_id')->expression(0)
             ->field('face')->expression('$$ROOT')
             ->field('score')->meta('vectorSearchScore'); 

            Assignee:
            Jérôme Tamarelle
            Reporter:
            Jérôme Tamarelle
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: