Overview
In this guide, you can learn how to use the MongoDB Vector Search feature in the Java Reactive Streams driver. The Aggregates builders class provides the vectorSearch() helper method that you can use to create a $vectorSearch pipeline stage. This pipeline stage allows you to perform a semantic
search on your documents. A semantic search is a type of search which locates information that is similar in meaning, but not necessarily identical, to your provided search term or phrase.
Important
Feature Compatibility
MongoDB Vector Search supports approximate nearest neighbor (ANN) search on Atlas clusters running MongoDB v6.0.11, v7.0.2, or later and exact nearest neighbor (ENN) search on clusters running MongoDB v6.0.16, v7.0.10, v7.3.2, or later. You can also use MongoDB Vector Search with self-managed or local Atlas deployments that you create with the Atlas CLI.
Sample Data
The examples in this guide use the embedded_movies collection in the sample_mflix database from the Atlas sample datasets. To learn how to create a free MongoDB Atlas cluster and load the sample datasets, see the Get Started tutorial.
Perform a Vector Search
To run vector search queries, you must create a vector search index and index your vector embeddings. To learn about how to programmatically create a vector search index, see the MongoDB Search Index Management section in the Indexes guide. To learn more about vector embeddings, see How to Index Vector Embeddings for Vector Search in the Atlas documentation.
After you create a vector search index on your vector embeddings, you can reference this index in your pipeline stage, as shown in the following section.
Vector Search Example
This example builds an aggregation pipeline that performs the following actions:
Runs an ENN search on the
plot_embeddingfieldLimits results to 1 document
Matches documents where the
yearvalue is greater than or equal to2016Projects the vector search score into a field called
vectorSearchScore
// Create an instance of the BinaryVector class as the query vector float[] rawVector = new float[]{ -0.0016261312f, -0.028070757f, -0.011342932f, -0.012775794f, -0.0027440966f, 0.008683807f, -0.02575152f, -0.02020668f, -0.010283281f, -0.0041719596f, 0.021392956f, 0.028657231f, -0.006634482f, 0.007490867f, 0.018593878f, 0.0038187427f, 0.029590257f, -0.01451522f, 0.016061379f, 0.00008528442f, -0.008943722f, 0.01627464f, 0.024311995f, -0.025911469f, 0.00022596726f, -0.008863748f, 0.008823762f, -0.034921836f, 0.007910728f, -0.01515501f, 0.035801545f, -0.0035688248f, -0.020299982f, -0.03145631f, -0.032256044f, -0.028763862f, -0.0071576433f, -0.012769129f, 0.012322609f, -0.006621153f, 0.010583182f, 0.024085402f, -0.001623632f, 0.007864078f, -0.021406285f, 0.002554159f, 0.012229307f, -0.011762793f, 0.0051682983f, 0.0048484034f, 0.018087378f, 0.024325324f, -0.037694257f, -0.026537929f, -0.008803768f, -0.017767483f, -0.012642504f, -0.0062712682f, 0.0009771782f, -0.010409906f, 0.017754154f, -0.004671795f, -0.030469967f, 0.008477209f, -0.005218282f, -0.0058480743f, -0.020153364f, -0.0032805866f, 0.004248601f, 0.0051449724f, 0.006791097f, 0.007650814f, 0.003458861f, -0.0031223053f, -0.01932697f, -0.033615597f, 0.00745088f, 0.006321252f, -0.0038154104f, 0.014555207f, 0.027697546f, -0.02828402f, 0.0066711367f, 0.0077107945f, 0.01794076f, 0.011349596f, -0.0052715978f, 0.014755142f, -0.019753495f, -0.011156326f, 0.011202978f, 0.022126047f, 0.00846388f, 0.030549942f, -0.0041386373f, 0.018847128f, -0.00033655585f, 0.024925126f, -0.003555496f, -0.019300312f, 0.010749794f, 0.0075308536f, -0.018287312f, -0.016567878f, -0.012869096f, -0.015528221f, 0.0078107617f, -0.011156326f, 0.013522214f, -0.020646535f, -0.01211601f, 0.055928253f, 0.011596181f, -0.017247654f, 0.0005939711f, -0.026977783f, -0.003942035f, -0.009583511f, -0.0055248477f, -0.028737204f, 0.023179034f, 0.003995351f, 0.0219661f, -0.008470545f, 0.023392297f, 0.010469886f, -0.015874773f, 0.007890735f, -0.009690142f, -0.00024970944f, 0.012775794f, 0.0114762215f, 0.013422247f, 0.010429899f, -0.03686786f, -0.006717788f, -0.027484283f, 0.011556195f, -0.036068123f, -0.013915418f, -0.0016327957f, 0.0151016945f, -0.020473259f, 0.004671795f, -0.012555866f, 0.0209531f, 0.01982014f, 0.024485271f, 0.0105431955f, -0.005178295f, 0.033162415f, -0.013795458f, 0.007150979f, 0.010243294f, 0.005644808f, 0.017260984f, -0.0045618312f, 0.0024725192f, 0.004305249f, -0.008197301f, 0.0014203656f, 0.0018460588f, 0.005015015f, -0.011142998f, 0.01439526f, 0.022965772f, 0.02552493f, 0.007757446f, -0.0019726837f, 0.009503538f, -0.032042783f, 0.008403899f, -0.04609149f, 0.013808787f, 0.011749465f, 0.036388017f, 0.016314628f, 0.021939443f, -0.0250051f, -0.017354285f, -0.012962398f, 0.00006107364f, 0.019113706f, 0.03081652f, -0.018114036f, -0.0084572155f, 0.009643491f, -0.0034721901f, 0.0072642746f, -0.0090636825f, 0.01642126f, 0.013428912f, 0.027724205f, 0.0071243206f, -0.6858542f, -0.031029783f, -0.014595194f, -0.011449563f, 0.017514233f, 0.01743426f, 0.009950057f, 0.0029706885f, -0.015714826f, -0.001806072f, 0.011856096f, 0.026444625f, -0.0010663156f, -0.006474535f, 0.0016161345f, -0.020313311f, 0.0148351155f, -0.0018393943f, 0.0057347785f, 0.018300641f, -0.018647194f, 0.03345565f, -0.008070676f, 0.0071443142f, 0.014301958f, 0.0044818576f, 0.003838736f, -0.007350913f, -0.024525259f, -0.001142124f, -0.018620536f, 0.017247654f, 0.007037683f, 0.010236629f, 0.06046009f, 0.0138887605f, -0.012122675f, 0.037694257f, 0.0055081863f, 0.042492677f, 0.00021784494f, -0.011656162f, 0.010276617f, 0.022325981f, 0.005984696f, -0.009496873f, 0.013382261f, -0.0010563189f, 0.0026507939f, -0.041639622f, 0.008637156f, 0.026471283f, -0.008403899f, 0.024858482f, -0.00066686375f, -0.0016252982f, 0.027590916f, 0.0051449724f, 0.0058647357f, -0.008743787f, -0.014968405f, 0.027724205f, -0.011596181f, 0.0047650975f, -0.015381602f, 0.0043718936f, 0.002159289f, 0.035908177f, -0.008243952f, -0.030443309f, 0.027564257f, 0.042625964f, -0.0033688906f, 0.01843393f, 0.019087048f, 0.024578573f, 0.03268257f, -0.015608194f, -0.014128681f, -0.0033538956f, -0.0028757197f, -0.004121976f, -0.032389335f, 0.0034322033f, 0.058807302f, 0.010943064f, -0.030523283f, 0.008903735f, 0.017500903f, 0.00871713f, -0.0029406983f, 0.013995391f, -0.03132302f, -0.019660193f, -0.00770413f, -0.0038853872f, 0.0015894766f, -0.0015294964f, -0.006251275f, -0.021099718f, -0.010256623f, -0.008863748f, 0.028550599f, 0.02020668f, -0.0012962399f, -0.003415542f, -0.0022509254f, 0.0119360695f, 0.027590916f, -0.046971202f, -0.0015194997f, -0.022405956f, 0.0016677842f, -0.00018535563f, -0.015421589f, -0.031802863f, 0.03814744f, 0.0065411795f, 0.016567878f, -0.015621523f, 0.022899127f, -0.011076353f, 0.02841731f, -0.002679118f, -0.002342562f, 0.015341615f, 0.01804739f, -0.020566562f, -0.012989056f, -0.002990682f, 0.01643459f, 0.00042527664f, 0.008243952f, -0.013715484f, -0.004835075f, -0.009803439f, 0.03129636f, -0.021432944f, 0.0012087687f, -0.015741484f, -0.0052016205f, 0.00080890034f, -0.01755422f, 0.004811749f, -0.017967418f, -0.026684547f, -0.014128681f, 0.0041386373f, -0.013742141f, -0.010056688f, -0.013268964f, -0.0110630235f, -0.028337335f, 0.015981404f, -0.00997005f, -0.02424535f, -0.013968734f, -0.028310679f, -0.027750863f, -0.020699851f, 0.02235264f, 0.001057985f, 0.00081639783f, -0.0099367285f, 0.013522214f, -0.012016043f, -0.00086471526f, 0.013568865f, 0.0019376953f, -0.019020405f, 0.017460918f, -0.023045745f, 0.008503866f, 0.0064678704f, -0.011509543f, 0.018727167f, -0.003372223f, -0.0028690554f, -0.0027024434f, -0.011902748f, -0.012182655f, -0.015714826f, -0.0098634185f, 0.00593138f, 0.018753825f, 0.0010146659f, 0.013029044f, 0.0003521757f, -0.017620865f, 0.04102649f, 0.00552818f, 0.024485271f, -0.009630162f, -0.015608194f, 0.0006718621f, -0.0008418062f, 0.012395918f, 0.0057980907f, 0.016221326f, 0.010616505f, 0.004838407f, -0.012402583f, 0.019900113f, -0.0034521967f, 0.000247002f, -0.03153628f, 0.0011038032f, -0.020819811f, 0.016234655f, -0.00330058f, -0.0032289368f, 0.00078973995f, -0.021952773f, -0.022459272f, 0.03118973f, 0.03673457f, -0.021472929f, 0.0072109587f, -0.015075036f, 0.004855068f, -0.0008151483f, 0.0069643734f, 0.010023367f, -0.010276617f, -0.023019087f, 0.0068244194f, -0.0012520878f, -0.0015086699f, 0.022046074f, -0.034148756f, -0.0022192693f, 0.002427534f, -0.0027124402f, 0.0060346797f, 0.015461575f, 0.0137554705f, 0.009230294f, -0.009583511f, 0.032629255f, 0.015994733f, -0.019167023f, -0.009203636f, 0.03393549f, -0.017274313f, -0.012042701f, -0.0009930064f, 0.026777849f, -0.013582194f, -0.0027590916f, -0.017594207f, -0.026804507f, -0.0014236979f, -0.022032745f, 0.0091236625f, -0.0042419364f, -0.00858384f, -0.0033905501f, -0.020739838f, 0.016821127f, 0.022539245f, 0.015381602f, 0.015141681f, 0.028817179f, -0.019726837f, -0.0051283115f, -0.011489551f, -0.013208984f, -0.0047017853f, -0.0072309524f, 0.01767418f, 0.0025658219f, -0.010323267f, 0.012609182f, -0.028097415f, 0.026871152f, -0.010276617f, 0.021912785f, 0.0022542577f, 0.005124979f, -0.0019710176f, 0.004518512f, -0.040360045f, 0.010969722f, -0.0031539614f, -0.020366628f, -0.025778178f, -0.0110030435f, -0.016221326f, 0.0036587953f, 0.016207997f, 0.003007343f, -0.0032555948f, 0.0044052163f, -0.022046074f, -0.0008822095f, -0.009363583f, 0.028230704f, -0.024538586f, 0.0029840174f, 0.0016044717f, -0.014181997f, 0.031349678f, -0.014381931f, -0.027750863f, 0.02613806f, 0.0004136138f, -0.005748107f, -0.01868718f, -0.0010138329f, 0.0054348772f, 0.010703143f, -0.003682121f, 0.0030856507f, -0.004275259f, -0.010403241f, 0.021113047f, -0.022685863f, -0.023032416f, 0.031429652f, 0.001792743f, -0.005644808f, -0.011842767f, -0.04078657f, -0.0026874484f, 0.06915057f, -0.00056939584f, -0.013995391f, 0.010703143f, -0.013728813f, -0.022939114f, -0.015261642f, -0.022485929f, 0.016807798f, 0.007964044f, 0.0144219175f, 0.016821127f, 0.0076241563f, 0.005461535f, -0.013248971f, 0.015301628f, 0.0085171955f, -0.004318578f, 0.011136333f, -0.0059047225f, -0.010249958f, -0.018207338f, 0.024645219f, 0.021752838f, 0.0007614159f, -0.013648839f, 0.01111634f, -0.010503208f, -0.0038487327f, -0.008203966f, -0.00397869f, 0.0029740208f, 0.008530525f, 0.005261601f, 0.01642126f, -0.0038753906f, -0.013222313f, 0.026537929f, 0.024671877f, -0.043505676f, 0.014195326f, 0.024778508f, 0.0056914594f, -0.025951454f, 0.017620865f, -0.0021359634f, 0.008643821f, 0.021299653f, 0.0041686273f, -0.009017031f, 0.04044002f, 0.024378639f, -0.027777521f, -0.014208655f, 0.0028623908f, 0.042119466f, 0.005801423f, -0.028124074f, -0.03129636f, 0.022139376f, -0.022179363f, -0.04067994f, 0.013688826f, 0.013328944f, 0.0046184794f, -0.02828402f, -0.0063412455f, -0.0046184794f, -0.011756129f, -0.010383247f, -0.0018543894f, -0.0018593877f, -0.00052024535f, 0.004815081f, 0.014781799f, 0.018007403f, 0.01306903f, -0.020433271f, 0.009043689f, 0.033189073f, -0.006844413f, -0.019766824f, -0.018767154f, 0.00533491f, -0.0024575242f, 0.018727167f, 0.0058080875f, -0.013835444f, 0.0040719924f, 0.004881726f, 0.012029372f, 0.005664801f, 0.03193615f, 0.0058047553f, 0.002695779f, 0.009290274f, 0.02361889f, 0.017834127f, 0.0049017193f, -0.0036388019f, 0.010776452f, -0.019793482f, 0.0067777685f, -0.014208655f, -0.024911797f, 0.002385881f, 0.0034988478f, 0.020899786f, -0.0025858153f, -0.011849431f, 0.033189073f, -0.021312982f, 0.024965113f, -0.014635181f, 0.014048708f, -0.0035921505f, -0.003347231f, 0.030869836f, -0.0017161017f, -0.0061346465f, 0.009203636f, -0.025165047f, 0.0068510775f, 0.021499587f, 0.013782129f, -0.0024475274f, -0.0051149824f, -0.024445284f, 0.006167969f, 0.0068844f, -0.00076183246f, 0.030150073f, -0.0055948244f, -0.011162991f, -0.02057989f, -0.009703471f, -0.020646535f, 0.008004031f, 0.0066378145f, -0.019900113f, -0.012169327f, -0.01439526f, 0.0044252095f, -0.004018677f, 0.014621852f, -0.025085073f, -0.013715484f, -0.017980747f, 0.0071043274f, 0.011456228f, -0.01010334f, -0.0035321703f, -0.03801415f, -0.012036037f, -0.0028990454f, -0.05419549f, -0.024058744f, -0.024272008f, 0.015221654f, 0.027964126f, 0.03182952f, -0.015354944f, 0.004855068f, 0.011522872f, 0.004771762f, 0.0027874154f, 0.023405626f, 0.0004242353f, -0.03132302f, 0.007057676f, 0.008763781f, -0.0027057757f, 0.023005757f, -0.0071176565f, -0.005238275f, 0.029110415f, -0.010989714f, 0.013728813f, -0.009630162f, -0.029137073f, -0.0049317093f, -0.0008630492f, -0.015248313f, 0.0043219104f, -0.0055681667f, -0.013175662f, 0.029723546f, 0.025098402f, 0.012849103f, -0.0009996708f, 0.03118973f, -0.0021709518f, 0.0260181f, -0.020526575f, 0.028097415f, -0.016141351f, 0.010509873f, -0.022965772f, 0.002865723f, 0.0020493253f, 0.0020509914f, -0.0041419696f, -0.00039695262f, 0.017287642f, 0.0038987163f, 0.014795128f, -0.014661839f, -0.008950386f, 0.004431874f, -0.009383577f, 0.0012604183f, -0.023019087f, 0.0029273694f, -0.033135757f, 0.009176978f, -0.011023037f, -0.002102641f, 0.02663123f, -0.03849399f, -0.0044152127f, 0.0004527676f, -0.0026924468f, 0.02828402f, 0.017727496f, 0.035135098f, 0.02728435f, -0.005348239f, -0.001467017f, -0.019766824f, 0.014715155f, 0.011982721f, 0.0045651635f, 0.023458943f, -0.0010046692f, -0.0031373003f, -0.0006972704f, 0.0019043729f, -0.018967088f, -0.024311995f, 0.0011546199f, 0.007977373f, -0.004755101f, -0.010016702f, -0.02780418f, -0.004688456f, 0.013022379f, -0.005484861f, 0.0017227661f, -0.015394931f, -0.028763862f, -0.026684547f, 0.0030589928f, -0.018513903f, 0.028363993f, 0.0044818576f, -0.009270281f, 0.038920518f, -0.016008062f, 0.0093902415f, 0.004815081f, -0.021059733f, 0.01451522f, -0.0051583014f, 0.023765508f, -0.017874114f, -0.016821127f, -0.012522544f, -0.0028390652f, 0.0040886537f, 0.020259995f, -0.031216389f, -0.014115352f, -0.009176978f, 0.010303274f, 0.020313311f, 0.0064112223f, -0.02235264f, -0.022872468f, 0.0052449396f, 0.0005723116f, 0.0037321046f, 0.016807798f, -0.018527232f, -0.009303603f, 0.0024858483f, -0.0012662497f, -0.007110992f, 0.011976057f, -0.007790768f, -0.042999174f, -0.006727785f, -0.011829439f, 0.007024354f, 0.005278262f, -0.017740825f, -0.0041519664f, 0.0085905045f, 0.027750863f, -0.038387362f, 0.024391968f, 0.00087721116f, 0.010509873f, -0.00038508154f, -0.006857742f, 0.0183273f, -0.0037054466f, 0.015461575f, 0.0017394272f, -0.0017944091f, 0.014181997f, -0.0052682655f, 0.009023695f, 0.00719763f, -0.013522214f, 0.0034422f, 0.014941746f, -0.0016711164f, -0.025298337f, -0.017634194f, 0.0058714002f, -0.005321581f, 0.017834127f, 0.0110630235f, -0.03369557f, 0.029190388f, -0.008943722f, 0.009363583f, -0.0034222065f, -0.026111402f, -0.007037683f, -0.006561173f, 0.02473852f, -0.007084334f, -0.010110005f, -0.008577175f, 0.0030439978f, -0.022712521f, 0.0054582027f, -0.0012620845f, -0.0011954397f, -0.015741484f, 0.0129557345f, -0.00042111133f, 0.00846388f, 0.008930393f, 0.016487904f, 0.010469886f, -0.007917393f, -0.011762793f, -0.0214596f, 0.000917198f, 0.021672864f, 0.010269952f, -0.007737452f, -0.010243294f, -0.0067244526f, -0.015488233f, -0.021552904f, 0.017127695f, 0.011109675f, 0.038067464f, 0.00871713f, -0.0025591573f, 0.021312982f, -0.006237946f, 0.034628596f, -0.0045251767f, 0.008357248f, 0.020686522f, 0.0010696478f, 0.0076708077f, 0.03772091f, -0.018700508f, -0.0020676525f, -0.008923728f, -0.023298996f, 0.018233996f, -0.010256623f, 0.0017860786f, 0.009796774f, -0.00897038f, -0.01269582f, -0.018527232f, 0.009190307f, -0.02372552f, -0.042119466f, 0.008097334f, -0.0066778013f, -0.021046404f, 0.0019593548f, 0.011083017f, -0.0016028056f, 0.012662497f, -0.000059095124f, 0.0071043274f, -0.014675168f, 0.024831824f, -0.053582355f, 0.038387362f, 0.0005698124f, 0.015954746f, 0.021552904f, 0.031589597f, -0.009230294f, -0.0006147976f, 0.002625802f, -0.011749465f, -0.034362018f, -0.0067844326f, -0.018793812f, 0.011442899f, -0.008743787f, 0.017474247f, -0.021619547f, 0.01831397f, -0.009037024f, -0.0057247817f, -0.02728435f, 0.010363255f, 0.034415334f, -0.024032086f, -0.0020126705f, -0.0045518344f, -0.019353628f, -0.018340627f, -0.03129636f, -0.0034038792f, -0.006321252f, -0.0016161345f, 0.033642255f, -0.000056075285f, -0.005005019f, 0.004571828f, -0.0024075406f, -0.00010215386f, 0.0098634185f, 0.1980148f, -0.003825407f, -0.025191706f, 0.035161756f, 0.005358236f, 0.025111731f, 0.023485601f, 0.0023342315f, -0.011882754f, 0.018287312f, -0.0068910643f, 0.003912045f, 0.009243623f, -0.001355387f, -0.028603915f, -0.012802451f, -0.030150073f, -0.014795128f, -0.028630573f, -0.0013487226f, 0.002667455f, 0.00985009f, -0.0033972147f, -0.021486258f, 0.009503538f, -0.017847456f, 0.013062365f, -0.014341944f, 0.005078328f, 0.025165047f, -0.015594865f, -0.025924796f, -0.0018177348f, 0.010996379f, -0.02993681f, 0.007324255f, 0.014475234f, -0.028577257f, 0.005494857f, 0.00011725306f, -0.013315615f, 0.015941417f, 0.009376912f, 0.0025158382f, 0.008743787f, 0.023832154f, -0.008084005f, -0.014195326f, -0.008823762f, 0.0033455652f, -0.032362677f, -0.021552904f, -0.0056081535f, 0.023298996f, -0.025444955f, 0.0097301295f, 0.009736794f, 0.015274971f, -0.0012937407f, -0.018087378f, -0.0039387033f, 0.008637156f, -0.011189649f, -0.00023846315f, -0.011582852f, 0.0066411467f, -0.018220667f, 0.0060846633f, 0.0376676f, -0.002709108f, 0.0072776037f, 0.0034188742f, -0.010249958f, -0.0007747449f, -0.00795738f, -0.022192692f, 0.03910712f, 0.032122757f, 0.023898797f, 0.0076241563f, -0.007397564f, -0.003655463f, 0.011442899f, -0.014115352f, -0.00505167f, -0.031163072f, 0.030336678f, -0.006857742f, -0.022259338f, 0.004048667f, 0.02072651f, 0.0030156737f, -0.0042119464f, 0.00041861215f, -0.005731446f, 0.011103011f, 0.013822115f, 0.021512916f, 0.009216965f, -0.006537847f, -0.027057758f, -0.04054665f, 0.010403241f, -0.0056281467f, -0.005701456f, -0.002709108f, -0.00745088f, -0.0024841821f, 0.009356919f, -0.022659205f, 0.004061996f, -0.013175662f, 0.017074378f, -0.006141311f, -0.014541878f, 0.02993681f, -0.00028448965f, -0.025271678f, 0.011689484f, -0.014528549f, 0.004398552f, -0.017274313f, 0.0045751603f, 0.012455898f, 0.004121976f, -0.025458284f, -0.006744446f, 0.011822774f, -0.015035049f, -0.03257594f, 0.014675168f, -0.0039187097f, 0.019726837f, -0.0047251107f, 0.0022825818f, 0.011829439f, 0.005391558f, -0.016781142f, -0.0058747325f, 0.010309938f, -0.013049036f, 0.01186276f, -0.0011246296f, 0.0062112883f, 0.0028190718f, -0.021739509f, 0.009883412f, -0.0073175905f, -0.012715813f, -0.017181009f, -0.016607866f, -0.042492677f, -0.0014478565f, -0.01794076f, 0.012302616f, -0.015194997f, -0.04433207f, -0.020606548f, 0.009696807f, 0.010303274f, -0.01694109f, -0.004018677f, 0.019353628f, -0.001991011f, 0.000058938927f, 0.010536531f, -0.17274313f, 0.010143327f, 0.014235313f, -0.024152048f, 0.025684876f, -0.0012504216f, 0.036601283f, -0.003698782f, 0.0007310093f, 0.004165295f, -0.0029157067f, 0.017101036f, -0.046891227f, -0.017460918f, 0.022965772f, 0.020233337f, -0.024072073f, 0.017220996f, 0.009370248f, 0.0010363255f, 0.0194336f, -0.019606877f, 0.01818068f, -0.020819811f, 0.007410893f, 0.0019326969f, 0.017887443f, 0.006651143f, 0.00067394477f, -0.011889419f, -0.025058415f, -0.008543854f, 0.021579562f, 0.0047484366f, 0.014062037f, 0.0075508473f, -0.009510202f, -0.009143656f, 0.0046817916f, 0.013982063f, -0.0027990784f, 0.011782787f, 0.014541878f, -0.015701497f, -0.029350337f, 0.021979429f, 0.01332228f, -0.026244693f, -0.0123492675f, -0.003895384f, 0.0071576433f, -0.035454992f, -0.00046984528f, 0.0033522295f, 0.039347045f, 0.0005119148f, 0.00476843f, -0.012995721f, 0.0024042083f, -0.006931051f, -0.014461905f, -0.0127558f, 0.0034555288f, -0.0074842023f, -0.030256703f, -0.007057676f, -0.00807734f, 0.007804097f, -0.006957709f, 0.017181009f, -0.034575284f, -0.008603834f, -0.005008351f, -0.015834786f, 0.02943031f, 0.016861115f, -0.0050849924f, 0.014235313f, 0.0051449724f, 0.0025924798f, -0.0025741523f, 0.04289254f, -0.002104307f, 0.012969063f, -0.008310596f, 0.00423194f, 0.0074975314f, 0.0018810473f, -0.014248641f, -0.024725191f, 0.0151016945f, -0.017527562f, 0.0018727167f, 0.0002830318f, 0.015168339f, 0.0144219175f, -0.004048667f, -0.004358565f, 0.011836103f, -0.010343261f, -0.005911387f, 0.0022825818f, 0.0073175905f, 0.00403867f, 0.013188991f, 0.03334902f, 0.006111321f, 0.008597169f, 0.030123414f, -0.015474904f, 0.0017877447f, -0.024551915f, 0.013155668f, 0.023525586f, -0.0255116f, 0.017220996f, 0.004358565f, -0.00934359f, 0.0099967085f, 0.011162991f, 0.03092315f, -0.021046404f, -0.015514892f, 0.0011946067f, -0.01816735f, 0.010876419f, -0.10124666f, -0.03550831f, 0.0056348112f, 0.013942076f, 0.005951374f, 0.020419942f, -0.006857742f, -0.020873128f, -0.021259667f, 0.0137554705f, 0.0057880944f, -0.029163731f, -0.018767154f, -0.021392956f, 0.030896494f, -0.005494857f, -0.0027307675f, -0.006801094f, -0.014821786f, 0.021392956f, -0.0018110704f, -0.0018843795f, -0.012362596f, -0.0072176233f, -0.017194338f, -0.018713837f, -0.024272008f, 0.03801415f, 0.00015880188f, 0.0044951867f, -0.028630573f, -0.0014070367f, -0.00916365f, -0.026537929f, -0.009576847f, -0.013995391f, -0.0077107945f, 0.0050016865f, 0.00578143f, -0.04467862f, 0.008363913f, 0.010136662f, -0.0006268769f, -0.006591163f, 0.015341615f, -0.027377652f, -0.00093136f, 0.029243704f, -0.020886457f, -0.01041657f, -0.02424535f, 0.005291591f, -0.02980352f, -0.009190307f, 0.019460259f, -0.0041286405f, 0.004801752f, 0.0011787785f, -0.001257086f, -0.011216307f, -0.013395589f, 0.00088137644f, -0.0051616337f, 0.03876057f, -0.0033455652f, 0.00075850025f, -0.006951045f, -0.0062112883f, 0.018140694f, -0.006351242f, -0.008263946f, 0.018154023f, -0.012189319f, 0.0075508473f, -0.044358727f, -0.0040153447f, 0.0093302615f, -0.010636497f, 0.032789204f, -0.005264933f, -0.014235313f, -0.018393943f, 0.007297597f, -0.016114693f, 0.015021721f, 0.020033404f, 0.0137688f, 0.0011046362f, 0.010616505f, -0.0039453674f, 0.012109346f, 0.021099718f, -0.0072842683f, -0.019153694f, -0.003768759f, 0.039320387f, -0.006747778f, -0.0016852784f, 0.018154023f, 0.0010963057f, -0.015035049f, -0.021033075f, -0.04345236f, 0.017287642f, 0.016341286f, -0.008610498f, 0.00236922f, 0.009290274f, 0.028950468f, -0.014475234f, -0.0035654926f, 0.015434918f, -0.03372223f, 0.004501851f, -0.012929076f, -0.008483873f, -0.0044685286f, -0.0102233f, 0.01615468f, 0.0022792495f, 0.010876419f, -0.0059647025f, 0.01895376f, -0.0069976957f, -0.0042952523f, 0.017207667f, -0.00036133936f, 0.0085905045f, 0.008084005f, 0.03129636f, -0.016994404f, -0.014915089f, 0.020100048f, -0.012009379f, -0.006684466f, 0.01306903f, 0.00015765642f, -0.00530492f, 0.0005277429f, 0.015421589f, 0.015528221f, 0.032202728f, -0.003485519f, -0.0014286962f, 0.033908837f, 0.001367883f, 0.010509873f, 0.025271678f, -0.020993087f, 0.019846799f, 0.006897729f, -0.010216636f, -0.00725761f, 0.01818068f, -0.028443968f, -0.011242964f, -0.014435247f, -0.013688826f, 0.006101324f, -0.0022509254f, 0.013848773f, -0.0019077052f, 0.017181009f, 0.03422873f, 0.005324913f, -0.0035188415f, 0.014128681f, -0.004898387f, 0.005038341f, 0.0012320944f, -0.005561502f, -0.017847456f, 0.0008538855f, -0.0047884234f, 0.011849431f, 0.015421589f, -0.013942076f, 0.0029790192f, -0.013702155f, 0.0001199605f, -0.024431955f, 0.019926772f, 0.022179363f, -0.016487904f, -0.03964028f, 0.0050849924f, 0.017487574f, 0.022792496f, 0.0012504216f, 0.004048667f, -0.00997005f, 0.0076041627f, -0.014328616f, -0.020259995f, 0.0005598157f, -0.010469886f, 0.0016852784f, 0.01716768f, -0.008990373f, -0.001987679f, 0.026417969f, 0.023792166f, 0.0046917885f, -0.0071909656f, -0.00032051947f, -0.023259008f, -0.009170313f, 0.02071318f, -0.03156294f, -0.030869836f, -0.006324584f, 0.013795458f, -0.00047151142f, 0.016874444f, 0.00947688f, 0.00985009f, -0.029883493f, 0.024205362f, -0.013522214f, -0.015075036f, -0.030603256f, 0.029270362f, 0.010503208f, 0.021539574f, 0.01743426f, -0.023898797f, 0.022019416f, -0.0068777353f, 0.027857494f, -0.021259667f, 0.0025758184f, 0.006197959f, 0.006447877f, -0.00025200035f, -0.004941706f, -0.021246338f, -0.005504854f, -0.008390571f, -0.0097301295f, 0.027244363f, -0.04446536f, 0.05216949f, 0.010243294f, -0.016008062f, 0.0122493f, -0.0199401f, 0.009077012f, 0.019753495f, 0.006431216f, -0.037960835f, -0.027377652f, 0.016381273f, -0.0038620618f, 0.022512587f, -0.010996379f, -0.0015211658f, -0.0102233f, 0.007071005f, 0.008230623f, -0.009490209f, -0.010083347f, 0.024431955f, 0.002427534f, 0.02828402f, 0.0035721571f, -0.022192692f, -0.011882754f, 0.010056688f, 0.0011904413f, -0.01426197f, -0.017500903f, -0.00010985966f, 0.005591492f, -0.0077707744f, -0.012049366f, 0.011869425f, 0.00858384f, -0.024698535f, -0.030283362f, 0.020140035f, 0.011949399f, -0.013968734f, 0.042732596f, -0.011649498f, -0.011982721f, -0.016967745f, -0.0060913274f, -0.007130985f, -0.013109017f, -0.009710136f }; BinaryVector queryVector = BinaryVector.floatVector(rawVector); // Specify the index name for the vector embedding index String indexName = "vector_index"; // Specify the path of the field to search on FieldSearchPath fieldSearchPath = SearchPath.fieldPath("plot_embedding"); // Limit the number of matches to 1 long limit = 1; // Create a pre-filter to only search within a subset of documents VectorSearchOptions options = VectorSearchOptions.exactVectorSearchOptions() .filter(Filters.gte("year", 2016)); // Create the vectorSearch pipeline stage Publisher<Document> publisher = collection.aggregate( Arrays.asList( Aggregates.vectorSearch( fieldSearchPath, queryVector, indexName, limit, options), Aggregates.project( Projections.metaVectorSearchScore("vectorSearchScore")) ) );
Tip
Query Vector Type
The preceding example creates an instance of BinaryVector to serve as the query vector, but you can also create a List of Double instances. However, we recommend that you use the BinaryVector type to improve storage efficiency.
The following example shows how you can run the aggregation and print the vector search meta-score from the result of the preceding aggregation pipeline:
Document found = Flux.from(publisher).blockFirst(); if (found != null) { double score = found.getDouble("vectorSearchScore"); System.out.println("vectorSearch score: " + score); }
vectorSearch score: 0.8821365833282471
API Documentation
To learn more about the methods and types mentioned in this guide, see the following API documentation: