diff --git a/docs/knn/approximate-knn.md b/docs/knn/approximate-knn.md
index 4b96c1ed..7f2d892c 100644
--- a/docs/knn/approximate-knn.md
+++ b/docs/knn/approximate-knn.md
@@ -137,6 +137,11 @@ A space corresponds to the function used to measure the distance between 2 point
\[ Distance(X, Y) = \sum_{i=1}^n (X_i - Y_i)^2 \] |
1 / (1 + Distance Function) |
+
+ l1 |
+ \[ Distance(X, Y) = \sum_{i=1}^n (X_i - Y_i) \] |
+ 1 / (1 + Distance Function) |
+
cosinesimil |
\[ {A · B \over \|A\| · \|B\|} =
diff --git a/docs/knn/knn-score-script.md b/docs/knn/knn-score-script.md
index cd3ed8bb..988a6e59 100644
--- a/docs/knn/knn-score-script.md
+++ b/docs/knn/knn-score-script.md
@@ -189,6 +189,11 @@ A space corresponds to the function used to measure the distance between 2 point
| \[ Distance(X, Y) = \sum_{i=1}^n (X_i - Y_i)^2 \] |
1 / (1 + Distance Function) |
+
+ l1 |
+ \[ Distance(X, Y) = \sum_{i=1}^n (X_i - Y_i) \] |
+ 1 / (1 + Distance Function) |
+
cosinesimil |
\[ {A · B \over \|A\| · \|B\|} =
diff --git a/docs/knn/painless-functions.md b/docs/knn/painless-functions.md
index d03ca95c..107f7a64 100644
--- a/docs/knn/painless-functions.md
+++ b/docs/knn/painless-functions.md
@@ -60,6 +60,11 @@ The following table contains the available painless functions the k-NN plugin pr
| float l2Squared (float[] queryVector, doc['vector field']) |
This function calculates the square of the L2 distance (Euclidean distance) between a given query vector and document vectors. The shorter the distance, the more relevant the document is, so this example inverts the return value of the l2Squared function. If the document vector matches the query vector, the result is 0, so this example also adds 1 to the distance to avoid divide by zero errors. |
+
+ l1Norm |
+ float l1Norm (float[] queryVector, doc['vector field']) |
+ This function calculates the L1 Norm distance (Manhattan distance) between a given query vector and document vectors. |
+
cosineSimilarity |
float cosineSimilarity (float[] queryVector, doc['vector field']) |