The Enterprise Search feature is enabled via code and its features can be enabled by VIP-CLI. Enterprise Search indexes can be indexed and versioned with VIP-CLI. Search Dev Tools and the VIP-CLI
health command are available to assist with debugging and troubleshooting.
Enterprise Search can be enabled in a VIP Local Development Environment.
- There is a limitation of returning only the first
10000documents during a search query. If the query is trying to retrieve more documents, it will not offload to ElasticSearch and instead, use a regular DB query. Pagination does not alleviate this limitation.
For example, even if only
16documents are being searched for, if they do not exist within the first
10000documents, the query will not run against ElasticSearch.
- A default character length limit of 255 is applied to users with an edit_posts capability and 80 for users without. The
vip_search_char_length()filter can be used to modify these limitations to a character limit between 0-255.
- Data sync only copies production data to a non-production environment. It does not create, affect, or modify any Elasticsearch indexes in the target non-production environment. The target environment’s Elasticsearch indexes must be created or versioned following the data sync.
- Throughout the Enterprise Search code, you’ll find
_doing_it_wrong()calls are used to throw configuration warnings.
- Rate limiting is a measure VIP put in place to protect the search services from spikes in requests that may cause instability.
- To query for and obtain post data (i.e. search results) in JSON format directly from a browser or other client via an AJAX request, a custom, cacheable, API adapter route should be built to limit the types of queries that can be made, and use only the post IDs from the raw Elasticsearch results. Any other details from Elasticsearch should not be used for constructing a user interface. To obtain any additional post or comment details from WordPress (e.g. post title, URL, etc.), use built-in data access functions of WordPress.
- Enterprise Search relies on a secure API to provide a powerful set of capabilities and currently, does not provide a public endpoint for running searches. Therefore, Elasticsearch results are rather raw and VIP does not recommend attempting to proxy the search results.