forked-synapse/changelog.d
James Salter d902181de9
Unified search query syntax using the full-text search capabilities of the underlying DB. (#11635)
Support a unified search query syntax which leverages more of the full-text
search of each database supported by Synapse.

Supports, with the same syntax across Postgresql 11+ and Sqlite:

- quoted "search terms"
- `AND`, `OR`, `-` (negation) operators
- Matching words based on their stem, e.g. searches for "dog" matches
  documents containing "dogs". 

This is achieved by 

- If on postgresql 11+, pass the user input to `websearch_to_tsquery`
- If on sqlite, manually parse the query and transform it into the sqlite-specific
  query syntax.

Note that postgresql 10, which is close to end-of-life, falls back to using
`phraseto_tsquery`, which only supports a subset of the features.

Multiple terms separated by a space are implicitly ANDed.

Note that:

1. There is no escaping of full-text syntax that might be supported by the database;
  e.g. `NOT`, `NEAR`, `*` in sqlite. This runs the risk that people might discover this
  as accidental functionality and depend on something we don't guarantee.
2. English text is assumed for stemming. To support other languages, either the target
  language needs to be known at the time of indexing the message (via room metadata,
  or otherwise), or a separate index for each language supported could be created.

Sqlite docs: https://www.sqlite.org/fts3.html#full_text_index_queries
Postgres docs: https://www.postgresql.org/docs/11/textsearch-controls.html
2022-10-25 14:05:22 -04:00
..
.gitignore Correct attrs package name in requirements (#3492) 2018-07-07 10:46:59 +10:00
11635.feature Unified search query syntax using the full-text search capabilities of the underlying DB. (#11635) 2022-10-25 14:05:22 -04:00
11804.feature Implementation for MSC3664: Pushrules for relations (#11804) 2022-10-25 14:38:01 +01:00
13422.bugfix let update_synapse_database run on a multi-database configurations (#13422) 2022-10-19 19:08:40 +01:00
13595.misc Remove unused @lru_cache decorator (#13595) 2022-10-25 11:39:25 +01:00
13652.feature Improve aesthetics and reusability of HTML templates. (#13652) 2022-10-21 17:44:00 +00:00
13710.bugfix Fix event size checks (#13710) 2022-10-21 09:49:47 +01:00
13897.feature Enable WAL for SQLite (#13897) 2022-10-25 10:22:55 +01:00
13910.misc Refactor OIDC tests to better mimic an actual OIDC provider. (#13910) 2022-10-25 14:25:02 +00:00
14042.misc Bump flake8-bugbear from 21.3.2 to 22.9.23 (#14042) 2022-10-19 19:38:24 +00:00
14064.bugfix Stop returning unsigned.invite_room_state in PUT /_matrix/federation/v2/invite/{roomId}/{eventId} responses (#14064) 2022-10-20 15:17:45 +01:00
14110.doc Document encryption_enabled_by_default_for_room_type under the right name (#14110) 2022-10-19 20:17:37 +01:00
14133.misc Bump types-opentracing from 2.4.7 to 2.4.10 (#14133) 2022-10-19 20:04:40 +00:00
14191.doc Explain SynapseError and FederationError better (#14191) 2022-10-19 15:39:43 -05:00
14205.feature Show erasure status when listing users in the Admin API (#14205) 2022-10-21 13:52:44 +01:00
14228.misc Add initial power level event to batch of bulk persisted events when creating a new room. (#14228) 2022-10-21 10:46:22 -07:00
14229.misc Use servlets for /key/ endpoints. (#14229) 2022-10-20 11:32:47 -04:00
14230.misc Use backend-meta edition of issue triage workflow (#14230) 2022-10-19 11:41:25 +01:00
14249.misc Build wheels on macos 11, not 10.15 (#14249) 2022-10-20 22:01:08 +00:00
14258.bugfix Fix logging error on SIGHUP (#14258) 2022-10-21 16:03:44 +01:00
14262.misc Return NOT_JSON if decode fails and defer set_timeline_upper_limit ca… (#14262) 2022-10-24 16:55:06 +01:00
14268.misc Add debugging to help diagnose lost device-list-update (#14268) 2022-10-24 10:45:10 +01:00
14270.misc Bump pysaml2 from 7.1.2 to 7.2.1 (#14270) 2022-10-24 10:40:30 +01:00
14271.misc Bump jinja2 from 3.0.3 to 3.1.2 (#14271) 2022-10-24 10:40:08 +01:00
14272.misc Bump types-requests from 2.28.11 to 2.28.11.2 (#14272) 2022-10-24 10:39:16 +01:00
14273.misc Bump setuptools-rust from 1.5.1 to 1.5.2 (#14273) 2022-10-24 10:39:00 +01:00
14274.misc Bump prometheus-client from 0.14.0 to 0.15.0 (#14274) 2022-10-24 10:38:40 +01:00
14275.misc Bump peaceiris/actions-mdbook from 1.1.14 to 1.2.0 (#14275) 2022-10-24 10:13:29 +00:00
14276.misc Bump peaceiris/actions-gh-pages from 3.8.0 to 3.9.0 (#14276) 2022-10-24 10:16:33 +00:00
14277.misc Bump serde from 1.0.145 to 1.0.147 (#14277) 2022-10-24 10:19:55 +01:00
14278.misc Bump anyhow from 1.0.65 to 1.0.66 (#14278) 2022-10-24 10:20:13 +01:00
14279.misc Bump serde_json from 1.0.86 to 1.0.87 (#14279) 2022-10-24 14:08:22 +01:00
14287.misc Cache rust build deps in trial CI (#14287) 2022-10-25 11:27:56 +01:00