REST API for Relevanssi Plugin
The plugin provides a REST API endpoint for the Relevanssi search plugin.
This plugin provides simple REST API for the popular search WordPress search engine – Relevanssi.
As far as this plugin provides API for the Relevanssi plugin, it should be installed.
Key features
- Search through posts of a certain type. By default all types.
- Results in pagination and optional.
- Sets X-WP-Total header with a total number of records, the same way as the default search API does.
- Sets X-WP-TotalPages header with a total number of pages, the same way as the default search API does.
- Multilingual websites support. Both WPML and Polylang are supported, but not tested well, so let me know if you will find any problems.
- Taxonomy filters are supported now. Some features may be missed, so feel free to report them.
- Ordering option added. It is also possible to order by meta_key/meta_value/meta_value_num.
Brief usage examples
- https://[your domain]/wp-json/relevanssi/v1/search?keyword=query
- https://[your domain]/wp-json/relevanssi/v1/search?keyword=query&per_page=5
- https://[your domain]/wp-json/relevanssi/v1/search?keyword=query&per_page=5&page=2
Define post type:
- https://[your domain]/wp-json/relevanssi/v1/search?keyword=query&per_page=5&page=2&type=post
Filter by taxonomy/taxonomies:
- https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3
- https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&tax_query[relation]=AND&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3&tax_query[1][taxonomy]=category&tax_query[1][field]=id&tax_query[1][terms]=2
Exclude category via taxonomies:
- https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3&tax_query[0][operator]=NOT IN
For multilingual websites (WPML & Polylang):
Demo website
You can try the plugin on our demo website http://demo.erlycoder.com/demo1/. For example, you can try the following request:
Basic:
http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test
Order posts by modification time:
http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test&type=post&orderby=modified&order=DESC
http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test&type=post&orderby=modified&order=ASC
Filter posts by taxonomy (one single category):
http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3
Filter posts by taxonomy (exclude category):
[http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3&tax_query[0][operator]=NOT IN](http://demo.erlycoder.com/demo1/wp-json/relevanssi/v1/search?keyword=test&tax_query[0][taxonomy]=category&tax_query[0][field]=id&tax_query[0][terms]=3&tax_query[0][operator]=NOT IN)
Installation
- Ensure that Relevanssi plugin is installed
- Sign in to the admin area of your WordPress website.
- Go to the “Plugins” section.
- Click “Add new” and search for “REST API for Relevanssi”.
- Install the plugin.
Alternative way #1
- Ensure that Relevanssi plugin is installed
- Download REST API for Relevanssi plugin from the WordPress plugin diretcory.
- Go to Plugins > Add New > Upload and select the ZIP file you just downloaded. Click Install Now, and then Activate.
- Activate the plugin through the ‘Plugins’ screen in WordPress
- Plugin does not require any further configuration
Alternative way #2
- Ensure that Relevanssi plugin is installed
- Download REST API for Relevanssi plugin from the WordPress plugin diretcory.
- Upload the plugin files to the
/wp-content/plugins/rest-api-for-relevanssi
directory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress
- Plugin does not require any further configuration
FAQ
Knowledge base You can find answers and solutions in our Knowledge base.
Can I suggest a feature or report a bug? Yes, you can submit your request on our Contact page.
Changelog
1.18
- Advanced Custom Fields plugin support is improved
1.17
1.16
- “No content found” error is changed to an empty result. This seems to be the proper response. Feel free to complain via Contact page, if you do not agree.
- Error messages are updated for cases where the search keyword is not provided or the target language does not exist (for Polylang).
- WP compatibility update
1.15
1.14
- Minor fix in handling post types.
- WPML & Polylang compatibility fixes.
1.12
- Minor fix in handling post types.
1.11
- Fixed issues with type=any parameter.
- Fixed issues with multitype requests (Example: type=post,page).
- Default search type is changed to ‘any’. Be careful updating the plugin.
1.10
- Fixed bug “Call to undefined function is_plugin_active()”.
1.9
- We decided to remove the strict requirement for the Relevanssi plugin to be installed before the API plugin. Instead, API will return an error if Relevanssi is not installed.
1.8
- Added “page” and “per_page” parameters. Old ones “page” and “per_page” are still supported, but we strongly recommend to to use new ones.
1.7
1.6
- Fixed taxonomy requests.
- One more example added
1.5
- Multilingual websites support (WPML & Polylang).
- Taxonomy filters.
- Search results ordering.
1.0