z-value and LSH (Locality Sensitive Hashing) based approximate k-nearest neighbors The z-value approach is good for dimensions up to 30, and LSH is used for any dimensions larger than 30 Use sbt run to run