diff --git a/README.md b/README.md index 4908f8e5f42..a5120e610c6 100644 --- a/README.md +++ b/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.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 -------