NEWVectors or files. Pick a path.Start →
    Back to DiagramsRetrieval Mechanics

    Scope Decides What Can Be Found at All

    Asked of the whole catalog, "something to keep me warm outside" returned a tent, a backpack, a cast iron pan, a rug and another tent. Scoped to category = tent, only tents can answer, and the ranking inside the scope is unchanged.

    A portrait diagram in two rails. The headline reads Scope decides, what can be found at all, with the subline: the same question, asked of the whole catalog and then of one category. The search bar holds the query something to keep me warm outside, annotated: the query names no category. Rail A, badged whole catalog with the note semantic reach across every category, shows five photos in rank order: a lit tent at night for 543 dollars at 0.062, a snowy forest scene for 564 dollars at 0.060, a steaming pot on a stove for 444 dollars at 0.059, boots on a textured rug for 203 dollars at 0.052, and a tent under a starry sky for 100 dollars at 0.048; the second, third and fourth are greyed and stamped dropped, and the chip reads 5 of 5. Rail B, badged scoped with category equals tent and the note only one category can answer, shows the two surviving tents followed by three more tents at 592 dollars 0.046, 73 dollars 0.039 and 554 dollars 0.029; its chip reads 2 kept plus 3 new. A bold line states that unscoped, the index answered with tents, backpacks, rugs and pans, and that scope is a decision about what is allowed to be right. A code window shows the execute request with the filters line category tent highlighted. The footer prints mxp.co/d/scope-changes-candidates.
    Asked of the whole catalog, "something to keep me warm outside" returned a tent, a backpack, a cast iron pan, a rug and another tent. Scoped to category = tent, only tents can answer, and the ranking inside the scope is unchanged.

    The query names no category. Something to keep me warm outside is a need, and a 118 image index answered it with a tent, a hiking backpack, a cast iron pan, a jute rug and a second tent. Every one of those is a defensible answer to the question as asked.

    Scoped to category equals tent, only tents are allowed to answer. The two tents from the unscoped rail keep their positions and three more tents fill the remaining slots, in the same similarity order they held before.

    Embeddings have no idea your taxonomy exists. Semantic search crosses category boundaries freely, which is the behaviour you want when a user asks a question your departments never anticipated, and the behaviour you have to constrain when the user believes they are browsing one department. The same index does both. Scope is the switch.

    The decision to scope is usually made once, early, by whoever wired the retriever, and then forgotten. It is worth revisiting with a query like this one in hand, because the unscoped rail shows what your users would have been offered and the scoped rail shows what your category tree decided they could see.

    The filter is one line in the execute request. The API also warned that category had no payload index on this collection, so declare a keyword index on any field you scope by.

    What is real here: the photos are Pexels images with every photographer credited, the embeddings and ranking came from the live API with the cache skipped on both calls, and the order is untouched. Category, price and stock are demo catalog data generated for this corpus.

    Run this on your own data

    Mixpeek turns video, images, audio, and documents in your object storage into searchable, timestamped results through one API.

    Search your own data