All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Prevent add slashes to float values on meta_queries.
- Update smalot/pdfparser to fix encoding errors.
- Fixed tax_query
AND
operator.
- Fixed query argument
'orderby' => 'meta_value'
.
- Updated dependencies
- PHP 8.1 compatibility fix
- User query functionality to work with the changes of WordPress 5.9.
- PHP 8.1 fixes for usort functions.
- Geolocation field functionality for both posts and users.
- The required RediSearch version is from now on at least 2.2.1.
- Ability to drop and create the index without having to delete all data first.
- A lot of changes in the filter names clarifying which index or search (i.e. posts or users) the filters are modifying.
- Support for WP_Query password parameters.
- "less_than" operator in the meta clause compare map.
redipress/taxonomies
filter for the ability to select which taxonomies are indexed for which post.
- A bug where taxonomy terms didn't get deleted from a post's index.
- Running index from the admin side.
- Querying tags that contain dashes.
escape_parentheses
setting for the user to choose whether to escape parentheses in search queries or not.- User locale field for the ability to query users by their locale.
- A bug where setting order by to relevance would cause the query not to work.
- Added support for
include_children
parameter of taxonomy queries.
- Force integer value to Redis port env on connect.
- Escape brackets in indexing.
- Taxonomy query clauses did not default to field
term_id
as they should.
- Escape dots in addition to dashes in indexing.
- Remove tabs from post_content while indexing.
- A CLI command
wp redipress delete
to delete posts by blog_id and post_type. - A WP_Query argument
groupby
added to modify the grouping argument of the RediSearch query.
- A bug where queryable fields with array values may not work properly.
- The ability for 3rd party addons to fetch the ID of the post being currently indexed.
post_author
field changed from Numeric to Text. REQUIRES INDEX RECREATION AND REINDEXING- Polylang integration to query all languages if empty
lang
string is given.
author
parameter queries.
- Further fix for taxonomies with dashes in their names.
- A bug where
FT.INFO
would crash on formatting whenMAXTEXTFIELDS
list was present. - A bug where taxonomies with dashes in their names would cause the queries to crash.
- The default scorer for
FT.SEARCH
queries fromDISMAX
to RediSearch defaultTFIDF
. It's changeable with a filter.
- A bug where search queries would always go to
FT.AGGREGATE
even ifFT.SEARCH
would be a better choice.
- A bug where saving a post twice during the same execution would result in missing fields during the second save.
- Ability to query taxonomy slugs over multiple multisite blogs.
- Ability to use taxonomy queries as parts of meta query.
- Setting for disabling adding post author's display name to post's search index.
- Updated dependency libraries PDFparser and PHPWord to latest versions.
- Run database save, if wanted, after indexing all posts.
- A bug in the Polylang integrations regarding multisite queries.
- A bug regarding the search index string of custom fields.
- Singular post resolving to use WP_Query instead of our own implementation.
- Indexing additional fields to use custom static functionality instead of the previous filter-based approach.
- Make the default stop words list to be empty. It can be altered or returned to RediSearch default list via a filter.
- Define
WP_IMPORTING
constant when indexing.
- Incompatibility of the
post_type
query var with the WP_Query.
- Support for
author__in
,author__not_in
,post_parent__in
andpost_parent__not_in
WP_Query arguments. - Support for WP_Query's
fields
argument.
- A bug where empty post content could cause some posts not to be indexed.
- A bug regarding WP_Query calls with
'post_type' => 'any'
. - A bug where wrong posts with the post name in a hierarchical post type would sometimes be returned.
- A bug where main query lang taxonomy query failed in certain circumstances.
- A bug where the response formatting function crashed with non-key-value lists.
- A bug where query_var value 0 resulted in skipping the query.
- A bug in the Polylang main query fix when no 'lang' query var was set
- REST API compability.
- Wrong number of results were shown in the DustPress Debugger.
- A bug where
post_parent
would not be saved for a post.
- A bug where group by clauses set via filter would not cause an FT.AGGREGATE call on their own.
- A bug where
"posts_per_page" => -1
query argument would result in too few results.
- A reverse filter for getting the Search class instance.
- A bug where
"posts_per_page" => -1
query argument would result in empty result set.
- A setting (
fallback
) to disable the MySQL fallback if no results are found in RediSearch.
- Wildcards won't be added to the end of the keywords if the keyword is just one character in length.
- Changed the default scorer for relevancy searches to DISMAX and added a filter (
redipress/scorer
) for changing that. post_mime_type
field to the core schema and the functions to support querying it.
- Singular view main queries where there is
paged
parameter present at the same time.
- Support for parentheses and pipes in search terms for complicated filtering.
- Polylang's localized main queries on multisites by using the language slug in term queries instead of the language term id.
- Bail early from the indexing function if the given post does not exist.
- Set the correct post types for 's' queries.
- A bug where ordering a query by post date would fail in certain conditions.
- Possibility to use
all
as a parameter forblog
to query all network sites at once. - Utility function
delete_doc()
.
- Query to be run with FT.SEARCH if nothing in it requires features of FT.AGGREGATE.
- If multiple write actions are done during one script execution, they will by default be written in disk only once at the end of the execution.
- Escaping additional field values when the value is "0".
- Similar value formatting functionalities to update_value than in the save post action.
- A bug where giving a string or integer value to taxonomy query
terms
parameter would cause a warning. - A bug where 404 page does not work properly.
- A bug where the indexing of missing posts would not work.
- Filters for various query parts to enable query customizations.
- A bug where the tax query was not parsed in all situations.
- Do not add the Polylang language query for main queries. PLL will handle it.
- Set query offset firstly from the 'offset' query variable if it is set.
- Empty query variable handling.
- Empty search string handling.
- Prevent the query builder from handling empty query variables.
- Always add an asterisk at the end of each search keyword to better mimic WordPress native behaviour.
- A way to give a document ID for custom posts with index all feature.
- Sortby fields are no longer added into groupby clause but only in the return fields lists with a FIRST_VALUE reducer by default.
- A bug with the main query when there is a page and one or more other posts with the same post_name.
- Version number to resemble reality in the changelog.
- Removed syntax error causing character from code.
- This changelog adhering to the 'keep a changelog' standard.
- Nonscalar fields are serialized before storing them to the index.
- Support for
update_post_meta_cache
andupdate_post_term_cache
. - Support for giving own weights for post types, post authors, taxonomy terms and meta values.
- Support for
update_post_meta_cache
andupdate_post_term_cache
. - doc, rtf, odt, pdf & docx support
- Index management in admin
wp redipress index missing
command for indexing only posts that do not exist in the search index already.- A reverse filter for getting the Index class instance.
- A method for deleting indexed items by a field name and matching value.
- A way to index only certain posts via the CLI commands.
- The index creation is now run on the
init
hook with a priority of 1000. This allow various dependencies to execute before RediPress indexing. - Removed
post_object
andpermalink
from the index as they are never queried. - Getting the document id for posts with a custom document id.
- String escaping fixed for post data indexing.
- A bug in user creation if the user query setting was disabled.