# Script Score Query Cosine Similarity

**URL:** <https://discuss.elastic.co/t/script-score-query-cosine-similarity/186920>\
**Category:** Elasticsearch\
**Created:** [June 21, 2019, 5:45pm UTC](https://discuss.elastic.co/t/script-score-query-cosine-similarity/186920 "2019-06-21T17:45:39Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![angelazhao](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/angelazhao/32/46636_2.png) [@angelazhao](https://discuss.elastic.co/u/angelazhao)\
**Post date:** [June 21, 2019, 5:45pm UTC](https://discuss.elastic.co/t/script-score-query-cosine-similarity/186920/1 "2019-06-21T17:45:40Z")

</div>

I'm following the example that calculates cosine similarity using sparse vectors found here: [https://www.elastic.co/guide/en/elasticsearch/reference/7.x/query-dsl-script-score-query.html](https://www.elastic.co/guide/en/elasticsearch/reference/7.x/query-dsl-script-score-query.html)

**My query is the following:**  
GET /my-index-name/\_search  
{  
"query": {  
"script\_score": {  
"query": {  
"match\_all": {}  
},  
"script": {  
"source": "cosineSimilaritySparse(params.queryVector, doc['word\_vector'])",  
"params": {  
"queryVector": {"11": 1.0, "1": 1.0, "12": 1.0, "5": 1.0, "7": 1.0, "0": 1.0, "4": 1.0, "8": 1.0, "21": 1.0, "6": 1.0, "19": 1.0, "14": 1.0, "245": 1.0, "940": 1.0, "105": 1.0, "416": 1.0}  
}  
}  
}  
}  
}

**After running this, I get a compile error. The full error looks like this:**  
{  
"error": {  
"root\_cause": [  
{  
"type": "script\_exception",  
"reason": "compile error",  
"script\_stack": [  
"cosineSimilaritySparse(pa ...",  
"^---- HERE"  
],  
"script": "cosineSimilaritySparse(params.queryVector, doc['word\_vector'])",  
"lang": "painless"  
}  
],  
"type": "search\_phase\_execution\_exception",  
"reason": "all shards failed",  
"phase": "query",  
"grouped": true,  
"failed\_shards": [  
{  
"shard": 0,  
"index": "sample-bulk-1",  
"node": "X-Dbh7dATn-2FLbxCBct5g",  
"reason": {  
"type": "query\_shard\_exception",  
"reason": "script\_score: the script could not be loaded",  
"index\_uuid": "HP84rvNyQjiRz4xdUWBZ7g",  
"index": "sample-bulk-1",  
"caused\_by": {  
"type": "script\_exception",  
"reason": "compile error",  
"script\_stack": [  
"cosineSimilaritySparse(pa ...",  
"^---- HERE"  
],  
"script": "cosineSimilaritySparse(params.queryVector, doc['word\_vector'])",  
"lang": "painless",  
"caused\_by": {  
"type": "illegal\_argument\_exception",  
"reason": "Unknown call [cosineSimilaritySparse] with [2] arguments."  
}  
}  
}  
}  
],  
"caused\_by": {  
"type": "script\_exception",  
"reason": "compile error",  
"script\_stack": [  
"cosineSimilaritySparse(pa ...",  
"^---- HERE"  
],  
"script": "cosineSimilaritySparse(params.queryVector, doc['word\_vector'])",  
"lang": "painless",  
"caused\_by": {  
"type": "illegal\_argument\_exception",  
"reason": "Unknown call [cosineSimilaritySparse] with [2] arguments."  
}  
}  
},  
"status": 400  
}

---

<div class="post-metadata">

**Author:** ![ghorne](https://avatars.discourse-cdn.com/v4/letter/g/71e660/32.png) [@ghorne](https://discuss.elastic.co/u/ghorne)\
**Post date:** [June 24, 2019, 7:01am UTC](https://discuss.elastic.co/t/script-score-query-cosine-similarity/186920/2 "2019-06-24T07:01:58Z")

</div>

I am getting the exact same error trying to test cosine similarity with painless scripting and trying to get a dense vector score, using V7.1.1. somehow scripting seems to be turned off?

---

<div class="post-metadata">

**Author:** ![mayya](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mayya/32/83147_2.png) [@mayya](https://discuss.elastic.co/u/mayya)\
**Post date:** [July 10, 2019, 5:53pm UTC](https://discuss.elastic.co/t/script-score-query-cosine-similarity/186920/3 "2019-07-10T17:53:13Z")

</div>

@angelazhao @ghorne Our apologies, `cosineSimilarity` and `dotProduct` will be available from 7.3. In later releases, we are adding more functions such as L1norm (Manhattan distance) and L2norm ( Euclidean distance)

---

<div class="post-metadata">

**Author:** ![ghorne](https://avatars.discourse-cdn.com/v4/letter/g/71e660/32.png) [@ghorne](https://discuss.elastic.co/u/ghorne)\
**Post date:** [July 11, 2019, 12:07am UTC](https://discuss.elastic.co/t/script-score-query-cosine-similarity/186920/4 "2019-07-11T00:07:26Z")

</div>

many thanks @mayya , managed to get this working with snapshot build 8, would be really interested in getting this functionality working faster for similarity ranking. Tested with worst case 1024 Vectors and 10,000 V representations against docs...

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 8, 2019, 12:07am UTC](https://discuss.elastic.co/t/script-score-query-cosine-similarity/186920/5 "2019-08-08T00:07:30Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
