REST API for Relevanssi

REST API for Relevanssi Install Statistics

0
100%
Today: 0 Yesterday: 0 All-time: 5,428 downloads
REST API for Relevanssi Icon

Try plugin: REST API for Relevanssi

We'll create fresh WordPress site with REST API for Relevanssi installed. You have 20 minutes to test the plugin after that site we'll be deleted.

Takes ~10 seconds to install.

About REST API for Relevanssi

The plugin provides a REST API endpoint for the Relevanssi search plugin.

3


0


0


0


0

updated: 1 year ago
since: 6 years ago
author: Sergiy Dzysyak

Description

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):

  • https://[your domain]/wp-json/relevanssi/v1/search?keyword=query&lng=en

    • Results in order:
  • https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&type=post&orderby=modified&order=DESC

  • https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&type=post&orderby=modified&order=ASC
  • https://[your domain]/wp-json/relevanssi/v1/search?keyword=test&type=post&meta_key=some_key&orderby=meta_value|meta_value_num&order=ASC

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)