Mayya Sharipova
3260fd1fc8
Distance measures for dense and sparse vectors ( #37947 )
...
* Distance measures for dense and sparse vectors
Introduce painless functions of
cosineSimilarity and dotProduct distance
measures for dense and sparse vector fields.
```js
{
"query": {
"script_score": {
"query": {
"match_all": {}
},
"script": {
"source": "cosineSimilarity(params.queryVector, doc['my_dense_vector'].value)",
"params": {
"queryVector": [4, 3.4, -1.2]
}
}
}
}
}
```
```js
{
"query": {
"script_score": {
"query": {
"match_all": {}
},
"script": {
"source": "cosineSimilaritySparse(params.queryVector, doc['my_sparse_vector'].value)",
"params": {
"queryVector": {"2": -0.5, "10" : 111.3, "50": -13.0, "113": 14.8, "4545": -156.0}
}
}
}
}
}
```
Closes #31615
2019-02-20 07:01:17 -05:00
Mayya Sharipova
643bb20137
Add a new query type - ScriptScoreQuery ( #34533 )
...
* Add a new query type - ScriptScoreQuery
script_score query uses script to calculate document scores.
Added as a substitute for function_score with an intentation
to deprecate function_scoreq query.
```http
GET /_search
{
"query": {
"script_score" : {
"query": {
"match": { "message": "elasticsearch" }
},
"script" : {
"source": "Math.log(2 + doc['likes'].value)"
},
"min_score" : 2
}
}
}
```
Add several functions to painless to be used inside script_score:
double rational(double, double)
double sigmoid(double, double, double)
double randomNotReproducible()
double randomReproducible(String, int)
double decayGeoLinear(String, String, String, double, GeoPoint)
double decayGeoExp(String, String, String, double, GeoPoint)
double decayGeoGauss(String, String, String, double, GeoPoint)
double decayNumericLinear(String, String, String, double, double)
double decayNumericExp(String, String, String, double, double)
double decayNumericGauss(String, String, String, double, double)
double decayDateLinear(String, String, String, double, JodaCompatibleZonedDateTime)
double decayDateExp(String, String, String, double, JodaCompatibleZonedDateTime)
double decayDateGauss(String, String, String, double, JodaCompatibleZonedDateTime)
Date functions only works on dates in the default format and default time zone
2018-11-20 16:10:06 -05:00