# Cosine similarity not working in elastic search

**URL:** <https://discuss.elastic.co/t/cosine-similarity-not-working-in-elastic-search/209702>\
**Category:** Elasticsearch\
**Created:** [November 27, 2019, 2:21pm UTC](https://discuss.elastic.co/t/cosine-similarity-not-working-in-elastic-search/209702 "2019-11-27T14:21:47Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Divyanshu\_Pandey](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/divyanshu_pandey/32/45452_2.png) [@Divyanshu\_Pandey](https://discuss.elastic.co/u/Divyanshu_Pandey)\
**Post date:** [November 27, 2019, 2:21pm UTC](https://discuss.elastic.co/t/cosine-similarity-not-working-in-elastic-search/209702/1 "2019-11-27T14:21:47Z")

</div>

This is my my query :  
script\_query = {  
"function\_score": {  
"query" : {  
"match\_all": {}  
},  
"script\_score": {"script": {  
"inline": "cosineSimilarity(params.query\_vector, doc['title\_vector']) + 1.0",  
"params": {  
"query\_vector": query\_vector.tolist()  
}}

```
    }
    }
}

```

and i am getting the following error:

TransportError: TransportError(500, 'search\_phase\_execution\_exception', "failed to run inline script [cosineSimilarity(params.query\_vector, doc['title\_vector']) + 1.0] using lang [groovy]")

---

<div class="post-metadata">

**Author:** ![Divyanshu\_Pandey](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/divyanshu_pandey/32/45452_2.png) [@Divyanshu\_Pandey](https://discuss.elastic.co/u/Divyanshu_Pandey)\
**Post date:** [November 27, 2019, 2:25pm UTC](https://discuss.elastic.co/t/cosine-similarity-not-working-in-elastic-search/209702/2 "2019-11-27T14:25:11Z")

</div>

just to add to the above point when i am adding source in place of inline , i am getting the following error:  
TransportError: TransportError(500, 'search\_phase\_execution\_exception', 'unexpected field [source]')

---

<div class="post-metadata">

**Author:** ![Mark\_Harwood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mark_harwood/32/10538_2.png) [@Mark\_Harwood](https://discuss.elastic.co/u/Mark_Harwood)\
**Post date:** [November 27, 2019, 3:15pm UTC](https://discuss.elastic.co/t/cosine-similarity-not-working-in-elastic-search/209702/3 "2019-11-27T15:15:19Z")

</div>

> [@Divyanshu\_Pandey](#):
>
> using lang [groovy]")

Groovy was dropped some time ago for security reasons. I imagine you're overdue an upgrade of elasticsearch version

---

<div class="post-metadata">

**Author:** ![Divyanshu\_Pandey](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/divyanshu_pandey/32/45452_2.png) [@Divyanshu\_Pandey](https://discuss.elastic.co/u/Divyanshu_Pandey)\
**Post date:** [November 28, 2019, 1:17pm UTC](https://discuss.elastic.co/t/cosine-similarity-not-working-in-elastic-search/209702/4 "2019-11-28T13:17:41Z")

</div>

I have updated and the error has changed : RequestError: RequestError(400, 'search\_phase\_execution\_exception', 'runtime error'). Detailed error : Unknown key for a START\_OBJECT in [function\_score].

---

<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:** [December 2, 2019, 8:52pm UTC](https://discuss.elastic.co/t/cosine-similarity-not-working-in-elastic-search/209702/5 "2019-12-02T20:52:21Z")

</div>

@Divyanshu_Pandey It should be `script_score` query, not `function_score` query. Please follow the documentation [here](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-script-score-query.html#vector-functions).

---

<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:** [December 30, 2019, 8:52pm UTC](https://discuss.elastic.co/t/cosine-similarity-not-working-in-elastic-search/209702/6 "2019-12-30T20:52:32Z")

</div>

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