v2.4.0
New Search Backend
This release replaces the search backend (based on the unmaintained whoosh library) with a new, taylored and SQL-based backend. This will allow further improvements to the search function in future releases. This is a breaking change, and details are given below.
Configuration changes
The old SEARCH_INDEX_DIR
configuration parameter is replaced by SEARCH_INDEX_DB_URI
, which can be a SQLite or PostgreSQL database URL. If the new parameter is not set but SEARCH_INDEX_DIR
is present, Gramps Web API will default to storing the search index in an SQLite database inside this directory and issue a deprecation warning. This should ensure that all Gramps Web API instances will continue working without configuration changes for now.
API changes
The search endpoint has new parameters: type
to filter the search results by the object type and change
to filter it by the modification date.
Search syntax changes
The search still supports AND/OR
operators, and they are now case insensitive (also and/or
works). The wildcard *
is supported at the end of a search term. Filtering in the search query e.g. by type:
is no longer supported (but this was poorly document anyway and is now supported by the new API parameters).
Search improvements
Indepently from the new search backend, the search indexer has been improved to enhance the search experience:
- Searching for a name now also returns families where a parent's name matches the search term.
- Searching for a name now also returns events where a primary particpant's name, or a participant family's parent's name, matches the search term.