Movie Finder · MyVector

Describe a movie in your own words. The search runs inside MySQL.

Try:
Under the hood: MyVector · how a search runs, the index, speed vs recall
1 · Your browsersends the words you typed.
→
2 · App (Python)turns them into a vector of 768 numbers with nomic-embed-text-v1.5, on the CPU, no API.
→
3 · MySQL + MyVectormyvector_ann_set() walks the HNSW graph that MyVector keeps in mysqld's memory and returns the nearest movie ids. Plain SQL joins them to the movies table for titles, filters and ranking.
→
4 · Kept in syncMyVector's binlog listener follows MySQL's binlog like a replica: an INSERT, UPDATE or DELETE on movies reaches the index within a second (online=Y).

The index, live from MySQL

Loading
…
Where these come from

Speed vs recall

Runs the query at ef_search 10 → 640 and compares each answer with an exact scan of every row.

Add a movie

It is embedded here and INSERTed into MySQL. MyVector's binlog listener adds it to the HNSW index (online=Y), with no rebuild.