From 97b63f230f755087719924e748d4ab39e84aa2b3 Mon Sep 17 00:00:00 2001 From: David Pilato Date: Fri, 7 Mar 2014 17:34:04 +0100 Subject: [PATCH] Add documentation Closes #2. --- README.md | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/README.md b/README.md index f07a6fe296f..f5612362720 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,130 @@ In order to install the plugin, simply run: `bin/plugin -install elasticsearch/e | 2.0.0-SNAPSHOT | 1.0.0.RC1 -> master | 2.5.3 | XXXX-XX-XX | | 2.0.0.RC1 | 1.0.0.RC1 -> master | 2.5.3 | 2014-01-15 | +Using python with function_score +-------------------------------- + +Let's say you want to use `function_score` API using `python`. 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 * _score", + "lang": "python" + } + } + } +}' +``` + +gives + +```javascript +{ + // ... + "hits": { + "total": 2, + "max_score": 2, + "hits": [ + { + // ... + "_score": 2 + }, + { + // ... + "_score": 1 + } + ] + } +} +``` + +Using python 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": "python" + }, + "s_obj1_test": { + "script": "_source[\"obj1\"][\"test\"]", "lang": "python" + }, + "s_obj2": { + "script": "_source[\"obj2\"]", "lang": "python" + }, + "s_obj2_arr2": { + "script": "_source[\"obj2\"][\"arr2\"]", "lang": "python" + } + } +}' +``` + +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 -------