MIPS — Maximum Inner Product Search — is the problem of finding, among all stored vectors, the one that has the highest dot product with a query vector. It is closely related to nearest-neighbour search but optimises a different quantity: instead of minimising distance, it maximises the inner product, which accounts for both direction and magnitude.
The distinction matters because the dot product rewards longer vectors. A vector that points in a slightly less similar direction but has greater magnitude can win on inner product, so MIPS does not always return what a pure distance metric would. This is exactly the behaviour wanted in some systems — notably recommendation engines, where item and user vectors are trained so that high dot products signal relevance, with magnitude encoding things like popularity.
MIPS also appears inside transformer attention mechanisms, where queries and keys interact through dot products. When vectors are normalised to unit length, MIPS becomes equivalent to cosine-similarity nearest-neighbour search, so many systems handle it by normalising and reusing their ANN machinery; when vectors are not normalised, specialised MIPS techniques are needed.