parent
2b61b004c4
commit
f5366da0bf
125
README.md
125
README.md
|
@ -13,6 +13,131 @@ In order to install the plugin, simply run: `bin/plugin -install elasticsearch/e
|
||||||
| 2.0.0-SNAPSHOT | 1.0.0.RC1 -> master | 1.7R4 | XXXX-XX-XX |
|
| 2.0.0-SNAPSHOT | 1.0.0.RC1 -> master | 1.7R4 | XXXX-XX-XX |
|
||||||
| 2.0.0.RC1 | 1.0.0.RC1 -> master | 1.7R4 | 2014-01-15 |
|
| 2.0.0.RC1 | 1.0.0.RC1 -> master | 1.7R4 | 2014-01-15 |
|
||||||
|
|
||||||
|
Using javascript with function_score
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
Let's say you want to use `function_score` API using `javascript`. Here is
|
||||||
|
a way of doing it:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -XDELETE "http://localhost:9200/test"
|
||||||
|
|
||||||
|
curl -XPUT "http://localhost:9200/test/doc/1" -d '{
|
||||||
|
"num": 1.0
|
||||||
|
}'
|
||||||
|
|
||||||
|
curl -XPUT "http://localhost:9200/test/doc/2?refresh" -d '{
|
||||||
|
"num": 2.0
|
||||||
|
}'
|
||||||
|
|
||||||
|
curl -XGET "http://localhost:9200/test/_search?pretty" -d '
|
||||||
|
{
|
||||||
|
"query": {
|
||||||
|
"function_score": {
|
||||||
|
"script_score": {
|
||||||
|
"script": "doc[\"num\"].value",
|
||||||
|
"lang": "javascript"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
gives
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
{
|
||||||
|
// ...
|
||||||
|
"hits": {
|
||||||
|
"total": 2,
|
||||||
|
"max_score": 4,
|
||||||
|
"hits": [
|
||||||
|
{
|
||||||
|
// ...
|
||||||
|
"_score": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// ...
|
||||||
|
"_score": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Using javascript with script_fields
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -XDELETE "http://localhost:9200/test"
|
||||||
|
|
||||||
|
curl -XPUT "http://localhost:9200/test/doc/1?refresh" -d'
|
||||||
|
{
|
||||||
|
"obj1": {
|
||||||
|
"test": "something"
|
||||||
|
},
|
||||||
|
"obj2": {
|
||||||
|
"arr2": [ "arr_value1", "arr_value2" ]
|
||||||
|
}
|
||||||
|
}'
|
||||||
|
|
||||||
|
curl -XGET "http://localhost:9200/test/_search" -d'
|
||||||
|
{
|
||||||
|
"script_fields": {
|
||||||
|
"s_obj1": {
|
||||||
|
"script": "_source.obj1", "lang": "js"
|
||||||
|
},
|
||||||
|
"s_obj1_test": {
|
||||||
|
"script": "_source.obj1.test", "lang": "js"
|
||||||
|
},
|
||||||
|
"s_obj2": {
|
||||||
|
"script": "_source.obj2", "lang": "js"
|
||||||
|
},
|
||||||
|
"s_obj2_arr2": {
|
||||||
|
"script": "_source.obj2.arr2", "lang": "js"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
gives
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
{
|
||||||
|
// ...
|
||||||
|
"hits": [
|
||||||
|
{
|
||||||
|
// ...
|
||||||
|
"fields": {
|
||||||
|
"s_obj2_arr2": [
|
||||||
|
[
|
||||||
|
"arr_value1",
|
||||||
|
"arr_value2"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"s_obj1_test": [
|
||||||
|
"something"
|
||||||
|
],
|
||||||
|
"s_obj2": [
|
||||||
|
{
|
||||||
|
"arr2": [
|
||||||
|
"arr_value1",
|
||||||
|
"arr_value2"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"s_obj1": [
|
||||||
|
{
|
||||||
|
"test": "something"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
License
|
License
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue