Description:
Execute the post command and return a table sequence or a cursor.
Syntax:
es_post(fd, endpoint, entity,header)
Note:
The external library function queries data through the post command and by default returns 10 records at most. If the JSON data in the result set contains multiple _index, they will be fully displayed. Parameter entity can be omitted.
Option:
@c |
Query a cursor |
@f |
Parameter entity can be a file |
Parameter:
A REST Client object |
|
endpoint |
Rest API address |
entity |
A parameter transmitted through http body, which is a JSON string or the name of JSON file |
header |
A variable parameter that passes http header; it is a key type JSON string |
Return value:
A table sequence/cursor
Example:
|
A |
|
1 |
=es_open("localhost:9200 ","user":"un1234") |
Connect to the ES server |
2 |
=es_post(A1,"/accounts/_search?q=user:kimchy") |
Query in the bank index the record where user is kimchy |
3 |
=es_post(A1,"/_all/_search?q=_id:5") |
Query the record where _id is 5 across different databases |
4 |
=es_post@c(A1,"/accounts/person/_search") |
Query records where index is accounts and type is person via the cursor |
5 |
=A4.fetch() |
Return records fetched from the cursor |
6 |
=es_post@f(A1,"/bank/person/_search","D:/entity_post_accounts.txt") |
Parameter entity is a file, from which the function queries records where _gender=“F” under /bank/person and sort them |
Note: Here’s the
file entity_post_accounts.txt:
{
"query" : {
"match" : { "gender" : "F" }
},
"track_scores": true,
"sort" : [
{ "account_number" : {"order" : "desc"} },
{ "firstname" : "desc" },
{ "lastname" : "desc" }
]
}