elasticsearch/elasticsearch — pull request #7137 by brwe (2014-08-03 16:07:45+00:00)
Title: function_score: add optional weight parameter per function

Weights can be defined per function like this:

```
"function_score": {
"functions": [
{
"filter": {},
"FUNCTION": {},
"weight": number
}
...
```
If `weight` is given without `FUNCTION` then `weight` behaves like `boost_factor`.
This commit deprecates `boost_factor`.

The following is valid:

```
POST testidx/_search
{
"query": {
"function_score": {
"weight": 2
}
}
}
POST testidx/_search
{
"query": {
"function_score": {
"functions": [
{
"weight": 2
},
...
]
}
}
}
POST testidx/_search
{
"query": {
"function_score": {
"functions": [
{
"FUNCTION": {},
"weight": 2
},
...
]
}
}
}
POST testidx/_search
{
"query": {
"function_score": {
"functions": [
{
"filter": {},
"weight": 2
},
...
]
}
}
}
POST testidx/_search
{
"query": {
"function_score": {
"functions": [
{
"filter": {},
"FUNCTION": {},
"weight": 2
},
...
]
}
}
}
```

The following is not valid:

```
POST testidx/_search
{
"query": {
"function_score": {
"weight": 2,
"FUNCTION(including boost_factor)": 2
}
}
}

POST testidx/_search
{
"query": {
"function_score": {
"functions": [
{
"weight": 2,
"boost_factor": 2
}
]
}
}
}
````

closes #6955