POST /sites/$site/search
Search within a site using an Elasticsearch Query API.
Resource Information
| Method | POST |
|---|---|
| URL | https://public-api.wordpress.com/rest/v1.2/sites/$site/search |
| Requires authentication? | No |
Method Parameters
| Parameter | Type | Description |
|---|---|---|
| $site | (int|string) | Site ID or domain |
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| context | (string) |
|
| http_envelope | (bool) |
|
| pretty | (bool) |
|
| meta | (string) | Optional. Loads data from the endpoints found in the 'meta' part of the response. Comma-separated list. Example: meta=site,likes |
| fields | (string) | Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title |
| callback | (string) | An optional JSONP callback function. |
Request Parameters
| Parameter | Type | Description |
|---|---|---|
| size | (int) | Number of results to return. Max depends on whether requestor is VIP, Jetpack or others. |
| from | (int) | Item number to return. Max depends on whether requestor is VIP, Jetpack or others. |
| fields | (array) | List of fields to return. Default is blog_id and post_id. See all fields. |
| query | (array) | Allows (almost) full access to the ES query DSL. See Elasticsearch Query DSL. Some filters and queries are not allowed for performance reasons, as documented here. |
| aggregations | (array) | Return aggregations from matches to the search. See details. |
| sort | (array) | How to sort results. Default is _score. See the Elasticsearch sort docs |
| filter | (array) | Filters applied to the search. Will be added as a part of a top level bool query |
| suggest | (array) | Experimental - Run suggestors on this search See Elasticsearch suggesters |
| rescore | (array) | Experimental - Do query rescores on the search. See Elasticsearch rescoring |
| facets | (array) | Deprecated. Do not use. Will be removed soon. |
| additional_blog_ids | (array) | List of additional blog_ids to run the search on. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| hits | (array) | The top level "hits" object from the ElasticSearch query response. |
Resource Errors
This endpoint does not return any errors.
Example
curl \ -H 'authorization: Bearer YOUR_API_TOKEN' \ --data-urlencode 'size=10' \ --data-urlencode 'from=0' \ --data-urlencode 'query=Array' \ --data-urlencode 'fields=Array' \ --data-urlencode 'sort=Array' \ 'https://public-api.wordpress.com/rest/v1/sites/1234/search'
<?php
$options = array (
'http' =>
array (
'ignore_errors' => true,
'method' => 'POST',
'header' =>
array (
0 => 'authorization: Bearer YOUR_API_TOKEN',
1 => 'Content-Type: application/x-www-form-urlencoded',
),
'content' =>
http_build_query( array (
'size' => 10,
'from' => 0,
'query' =>
array (
'multi_match' =>
array (
'query' => 'Foo',
'fields' =>
array (
0 => 'title.en',
1 => 'content.en',
),
),
),
'fields' =>
array (
0 => 'post_id',
),
'sort' =>
array (
0 => '_score',
1 =>
array (
'date' => 'desc',
),
),
)),
),
);
$context = stream_context_create( $options );
$response = file_get_contents(
'https://public-api.wordpress.com/rest/v1/sites/1234/search',
false,
$context
);
$response = json_decode( $response );
?>