1 files changed, 12 insertions, 5 deletions
diff --git a/synapse/storage/search.py b/synapse/storage/search.py
index 238df38440..5843f80876 100644
--- a/synapse/storage/search.py
+++ b/synapse/storage/search.py
@@ -17,6 +17,7 @@ from twisted.internet import defer
from _base import SQLBaseStore
from synapse.api.constants import KnownRoomEventKeys, SearchConstraintTypes
+from synapse.storage.engines import PostgresEngine
class SearchStore(SQLBaseStore):
@@ -48,11 +49,17 @@ class SearchStore(SQLBaseStore):
"(%s)" % (" OR ".join(local_clauses),)
)
- sql = (
- "SELECT ts_rank_cd(vector, query) AS rank, event_id"
- " FROM plainto_tsquery('english', ?) as query, event_search"
- " WHERE vector @@ query"
- )
+ if isinstance(self.database_engine, PostgresEngine):
+ sql = (
+ "SELECT ts_rank_cd(vector, query) AS rank, event_id"
+ " FROM plainto_tsquery('english', ?) as query, event_search"
+ " WHERE vector @@ query"
+ )
+ else:
+ sql = (
+ "SELECT 0 as rank, event_id FROM event_search"
+ " WHERE value MATCH ?"
+ )
for clause in clauses:
sql += " AND " + clause
|