Mentre R-Trees in generale può indicizzare dati con un numero arbitrario di dimensioni, MySQL le abilità spaziali sono limitate solo a Geometry tipi (2 dimensioni).
Se i tuoi vettori sono 2 -dimensionale e puoi normalizzarli, quindi procedere come segue:
- Dividi il cerchio nel doppio del numero di angoli che corrispondono alle tue differenze
- Trova il
MBRdi vettori con data differenza di coseno dal centro di ogni settore - Trova tutti i vettori all'interno del
MBR - Esegui il filtraggio fine per la differenza esatta.
In questo caso, però, sarà meglio solo precalcolare l'angolo del valore e indicizzarlo con un semplice B-Tree indice.