Currently distance measures are instantiated by passing the name of the distance measure to a function, for example the knn function can be passed the named parameter: distance="manhattan".
This ticket will create a specific function for each distance measure which will be used to specify which distance measure to apply. With this design the knn function would be passed the function: manhattan() or any of the other distance measure functions.
knn(a, b, manhattan()) or dbscan(a, haversineMeters())
- is related to
SOLR-12019 Prepare Streaming Expressions for machine learning functions