Mientras R-Trees
en general, puede indexar datos con un número arbitrario de dimensiones, MySQL
las habilidades espaciales solo se limitan a Geometry
tipos (2
dimensiones).
Si tus vectores son 2
-dimensional y puede normalizarlos y luego hacer lo siguiente:
- Divida el círculo en dos veces la cantidad de ángulos que coincidan con sus diferencias
- Encuentra el
MBR
de vectores con diferencia de coseno dada desde el centro de cada sector - Encuentre todos los vectores dentro del
MBR
- Haga el filtrado fino para obtener la diferencia exacta.
En este caso, sin embargo, será mejor precacular el ángulo del valor e indexarlo con un B-Tree
simple. índice.